Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- algorithm
- 알고리즘
- 이분탐색
- 재귀
- 트리
- SQL
- lcap
- 해시맵
- 그래프
- 자바
- 가중치없는그래프
- 매개변수 탐색
- 프로그래머스
- 집합
- Mendix
- 자료구조
- 정렬
- dfs
- 완전탐색
- 반효경교수님
- domain model
- Sort
- 스택
- git
- MySQL
- 멘딕스
- 백트래킹
- Recursion
- microflow
- Bruteforce
Archives
- Today
- Total
mondegreen
[240212] 알고리즘 리부트 4일차 - 백준 13223 자바 본문
알고리즘 풀이 및 리뷰/[패캠] 핵심유형 20개로 한 번에 끝내는 알고리즘 코딩테스트 리뷰
[240212] 알고리즘 리부트 4일차 - 백준 13223 자바
앙갱 2024. 2. 12. 23:52반응형
[Part1-Chapter01-Clip06]
- 백준 13223 소금폭탄
첫번째 풀이에서 놓친 점은 바로 로봇이 소금을 투하하는 데 걸리는 시간이 최대 24시간이 될 수 있다는 점이다. 즉, 현재시각과 컵을 이용할 시각이 같은 시각으로 주어질 수 있다는 것이다.(꼬박 1일이 지난 때) 이 부분을 조건문으로 추가하여 맞힐 수 있었다. 그런데 조건문이 난무해서 다른 방식이 없는지 추가로 고려해봐야겠다.
왼쪽은 시각을 입력받는 코드인데 6개의 변수를 선언하는 대신 2차원 배열로 입력 받았다. 여기서 split을 활용했지만 substring 매서드로도 가능하며, 각각의 string을 character 하나씩 떼어내서 앞자리에는 10을 곱하는 방식으로 추출할 수도 있다. 오른쪽은 풀이인데 아무래도 시, 분, 초 별로 별도로 조건문을 걸어서 복잡하기 그지없다.
그리고 강의를 듣고난 후 보다 간결한 풀이 방법을 찾았다. 이는 realmInstant의 형식과 유사했는데 어쨌든 모든 시간을 초 단위로 계산해버리는 방식이다. 코드 길이는 상당히 줄었고 메모리는 오히려 늘었지만 소요 시간은 동일한 것을 확인할 수 있었다. 1시간은 3,600초, 1분은 60초임을 활용하여 보다 간결하게 풀어냈다. 맨 아래 코드는 00:00:00 표현 규칙을 지키기 위함인데 2자리씩 정수로 출력하는데 빈자리는 0으로 채워줘라는 의미이다.
반응형
'알고리즘 풀이 및 리뷰 > [패캠] 핵심유형 20개로 한 번에 끝내는 알고리즘 코딩테스트 리뷰' 카테고리의 다른 글
[240214] 알고리즘 리부트 6일차 - 백준 1236, 10431 자바 (0) | 2024.02.14 |
---|---|
[240213] 알고리즘 리부트 5일차 - 백준 10158 자바 (0) | 2024.02.13 |
[240211] 알고리즘 리부트 3일차 - 백준 1543 자바 (0) | 2024.02.11 |
[240210] 알고리즘 리부트 2일차 - 백준 1919, 1157 자바 (1) | 2024.02.10 |
[240209] 알고리즘 리부트 1일차 - 백준 2744 자바 (0) | 2024.02.09 |