프로그래머스(자바)
다트 게임→ 마지막에서 값을 remove★ 하고 싶은 경우 + 마지막에서 두번 째에서 값을 remove★하고 싶은 경우+ map자료형
다른 사람의 풀이 import java.util.*; class Solution { public static int solution(String dartResult) { Map scores = new HashMap(); scores.put('S', 1); scores.put('D', 2); scores.put('T', 3); String tmp = ""; List list = new ArrayList(); for (char c : dartResult.toCharArray()) { if (scores.containsKey(c)) { list.add((int) Math.pow(Integer.parseInt(tmp), scores.get(c))); tmp = ""; } else if (c == '#') { l..
체육복→ 차집합을 구현하는 방법★★
나의 풀이 import java.util.*; class Solution { public int solution(int n, int[] lost, int[] reserve) { Set reserveOnly = new HashSet(); for (int r : reserve) { reserveOnly.add(r); } for (int l : lost) { reserveOnly.remove(l); } Set lostOnly = new HashSet(); for (int l : lost) { lostOnly.add(l); } for (int r : reserve) { lostOnly.remove(r); } for (int reserveNum : reserveOnly) { int front = reserveNu..
푸드 파이트 대회→ 우측(뒤)에서 좌측(앞)으로 접근★★
나의 풀이 class Solution { public String solution(int[] food) { String answer = "0"; for (int i = food.length - 1; i > 0; i--) { int c = food[i] / 2; while (c > 0) { answer = i + answer + i; c--; } } return answer; } } ▶ i-- 연산자를 사용하는 경우 뒤에서부터 앞으로 접근할 수 있다.★
실패율→배열에서 동일요소를 세기 위한 방법★★★
나의 풀이 public class Solution { public int[] solution(int N, int[] stages) { Map result = new HashMap(); int length = stages.length; for (int idx = 1; idx result.get(key2).compareTo(result.get(key1))); return sortedKeys.stream().mapToInt(i -> i).toArray(); } } ▶ result.get(key2).compareTo(result.get(key1)) → 내림차순하기 위한 코드