일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 후기
- math
- 카카오톡1차
- 우아한테크코스
- 오라클
- javascript
- Singleton
- 독서
- 프로그래머스
- spring
- 독서리뷰
- 회고
- 공부
- JPA
- 인프런
- 매핑
- 람다
- Eclipse
- Design Pattern
- 알고리즘
- Oracle
- 디자인패턴
- Java
- 자바
- 인강리뷰
- study
- 에러
- 인코딩
- 이펙티브자바
- Head First Design Pattern
- Today
- Total
목록프로그래머스 (33)
Lee's Grow up
문제 설명 수평 직선에 탑 N대를 세웠습니다. 모든 탑의 꼭대기에는 신호를 송/수신하는 장치를 설치했습니다. 발사한 신호는 신호를 보낸 탑보다 높은 탑에서만 수신합니다. 또한, 한 번 수신된 신호는 다른 탑으로 송신되지 않습니다. $nbsp;예를 들어 높이가 6, 9, 5, 7, 4인 다섯 탑이 왼쪽으로 동시에 레이저 신호를 발사합니다. 그러면, 탑은 다음과 같이 신호를 주고받습니다. 높이가 4인 다섯 번째 탑에서 발사한 신호는 높이가 7인 네번째 탑이 수신하고, 높이가 7인 네 번째 탑의 신호는 높이가 9인 두 번째 탑이, 높이가 5인 세 번째 탑의 신호도 높이가 9인 두 번째 탑이 수신합니다. 높이가 9인 두 번째 탑과 높이가 6인 첫 번째 탑이 보낸 레이저 신호는 어떤 탑에서도 수신 할 수 없습니다..
문제 설명 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 sulution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,000 이하인 자연수입니다. prices의 길이는 2 이상 100,000 이하입니다. 입출력 예 prices return [1, 2, 3, 2, 3] [4, 3, 1, 1, 0] 입출력 예 설명 1초 시점의 \1은 끝까지 가격이 떨어지지 않았습니다, 2초 시점의 \2은 끝까지 가격이 떨어지지 않았습니다. 3초 시점의 \3은 1뒤에 가격이 떨어집니다. 따라서 1초간 가격이 떨어지지 않은것으로 봅니다. 4초 시점의 \2은 1초간 가격이 떨어지지 않았습니다, 5초 시점의 \3은 0..
문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항 str은 길이 1 이상인 문자열입니다. 입출력 예 Sreturn"Zbcdefg""gfedcbZ" 람다를 활용한 풀이 최근 람다식을 공부하고 있어서 시간날 때 기존의 풀이를 람다로 변경해보는 연습을 진행중입니다. 기존 아래의 코드를 람다식으로 풀어본 결과입니다. class Solution { public String solution(String s) { return Stream.of(s.split("")) .sorted(Collections.reverseOrder()) .colle..
문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 문자 'p'와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요, 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. 제한사항 문자열 s의 길이 : 50 이하의 자연수 문자열 s는 알파벳으로만 이루어져 있습니다. 입출력 예 S answer "pPoooyY" true "Pyy" false 입출력 예 설명 입출력 예 #1 'p'의 개수 2개, 'y'의 개수 2개로 같으므로 true를 return 합니..
문제 설명 두 정수 a, b 가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5 인 경우, 3 + 4 + 5 = 12 이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 입출력 예 abreturn35123335312 나의 풀이 class Solution { public long solution(int a, int b) { long answer = 0; int maxNum = (a >= b ? a : b); int minNum = (a
문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return하는 solution함수를 만들어 주세요. 예를들어 N = 123 이면 1 + 2 + 3 = 6 을 return 하면 됩니다. 제한 사항 N의 범위 : 100,000,000 이하의 자연수 입출력 예 N answer 123 6 987 24 입출력 예 설명 입출력 예 #1 문제의 예시와 같습니다. 입출력 예 #2 9 + 8 + 7 = 24이므로 24를 return 하면 됩니다. 나의 풀이 public class Solution { public int solution(int n) { int answer = 0; while(true){ answer += n%10; if(n
문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5, 4, 3, 2, 1]을 리턴합니다. 제한 조건 n 은 10,000,000,000 이하인 자연수입니다, 입출력 예 nreturn12345[5,4,3,2,1] 나의 풀이 class Solution { public int[] solution(long n) { int[] answer = new int[String.valueOf(n).length()]; for (int i = 0; i 즉 1의자리부터 10의..
문제 설명 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이상 8,000,000,000 이하인 자연수입니다. 입출력 예 n return 118372 873211 나의 풀이 import java.util.Arrays; import java.util.Comparator; class Solution { public long solution(long n) { String[] sarr = (String.valueOf(n)).split(""); Arrays.sort(sarr,new Comparator() { @Override public int com..