코딩 71

[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 2 (17~18번 문제풀이) / Level 0 (224/224) / Level 1 (77/77)

17. 귤 고르기 import java.util.*; class Solution { public int solution(int k, int[] tangerine) { int answer = 0; Map map = new HashMap(); for(int size : tangerine){ map.put(size, map.getOrDefault(size, 0) + 1); } List list = new ArrayList(map.keySet()); list.sort(((o1, o2) -> map.get(o2) - map.get(o1))); for(int i : list){ if(k

[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 2 (11~12번 문제풀이) / Level 0 (224/224) / Level 1 (77/77)

11. 영어 끝말잇기 import java.util.*; class Solution { public int[] solution(int n, String[] words) { int[] answer = new int[2]; Map map = new HashMap(); for(int i=0; i 0){ if(n%2 == 0){ n/=2; } else{ n--; ans++; } } return ans; } } while의 실행조건을 n이 0보다 클때로 걸었다. 그 뒤 내부에서는 n이 2로 나눠 떨어질 수 있으면 n을 2로 나눈다. 만약 홀수라면 n에서 1일 빼주고 ans에는 1을 더해서 카운트를 올려준다. n이 0보다 작아질 때까지 반복한 뒤 ans를 반환해 주면 된다.

[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 2 (9~10번 문제풀이) / Level 0 (224/224) / Level 1 (77/77)

9. 짝지어 제거하기 import java.util.*; class Solution { public int solution(String s) { int answer = -1; Stack stack = new Stack(); for(char ch : s.toCharArray()){ if(!stack.isEmpty() && stack.peek() == ch){ stack.pop(); } else{ stack.push(ch); } } if(stack.isEmpty()){ answer = 1; } else{ answer = 0; } return answer; } } stack을 하나 생성했다. 그 뒤 문자열 s를 char형으로 변환시킨 뒤 forEach문을 사용했다. if문을 사용해서 stack이 비어있지 않고..

프로필사진

남건욱's 공부기록

반응형