-
프로그래머스 Lv-2 덧칠하기 (java)Tech-blog/Algorithm 2023. 3. 18. 18:42
이번 문제를 풀면서 문제의 규칙 중
- 롤러가 벽에서 벗어나면 안됩니다.롤러가 벽에서 벗어나면 안 됩니다.
이 규칙 때문에 생각하는 시간이 길었다 하지만 다시 생각을 해보니 롤러가 벽을 넘어가던 말던 결국 칠해야 하는 횟수는 똑같기 때문에 신경쓸 필요가 없던 문제였다....
import java.util.*; class Solution { public int solution(int n, int m, int[] section) { HashMap<Integer,Boolean> total = new HashMap<>(); int cnt = 0; for (int i = 1;i <= n;i++){ //Hashmap true 초기화 total.put(i, true); } for (int i = 0;i < section.length;i++){ total.put(section[i], false);// 칠해야 하는 section false로 만들기 } int i =1; while (i <= total.size()){ if (total.get(i) == false){ //HashMap value의 값이 false를 만나면 key값을 m만큼 추가, cnt++ cnt++; i += m; }else i++; //total의 value값이 true일경우 다음 value 확인 } return cnt; } }
'Tech-blog > Algorithm' 카테고리의 다른 글
백준 - 13223 소금폭탄 (0) 2023.08.04 백준 : 토너먼트 - 1057번 (java) (0) 2023.04.14 백준 : 단어 정렬 - 1181번 (java) (0) 2023.03.14 백준 : 팰린드롬 - 1213번 (java) (0) 2023.03.07 백준 : 단지번호붙이기 - 2667번 (java) (0) 2023.03.03