Coding Test
CT | 백준 1475번 방 번호
이진유진
2024. 10. 21. 18:00
반응형
https://www.acmicpc.net/problem/1475
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
scanner.close();
List<Integer> digits = new ArrayList<>();
String numberStr = String.valueOf(num);
for (char c : numberStr.toCharArray()) {
digits.add(Character.getNumericValue(c)); // 각 문자를 숫자로 변환해 리스트에 추가
}
HashMap<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < digits.size(); i++) {
int digit = digits.get(i);
if (digit == 6 || digit == 9) {
map.put(6, map.getOrDefault(6, 0) + 1);
} else {
map.put(digit, map.getOrDefault(digit, 0) + 1);
}
}
if (map.containsKey(6)) {
map.put(6, (map.get(6) + 1) / 2); // 6과 9는 한 세트로 처리
}
int maxValue = 0;
for (int val : map.values()) {
if (val > maxValue) {
maxValue = val;
}
}
System.out.println(maxValue);
}
}
* map.getORDefault(key, defaultValue)
- Key : 찾으려는 key / defaultValue : Key가 Map에 없을 경우 반환할 기본값.
배열의 기본문제 중 두번째 문제를 풀어봤습니다 :)
제가 생각한 부분은 리스트에 넣고
각 값을 hashMap을 통해 키로 넣어서 value를 통해 조정하여 해를 찾는 느낌으로 풀었습니다 :)
반응형