문제 - (https://www.acmicpc.net/problem/14503) 문제에서 주어진 로봇 청소기의 작동 방법대로 구현하면 되는 문제였다. 시뮬레이션 문제들은 문제를 먼저 이해하는 것이 중요한데, 나는 문제 하는데 시간이 좀 걸렸다ㅠㅠ - 로봇 청소기 작동 순서 - 현재 위치를 청소한다. 현재 위치에서 현재 방향을 기준으로 왼쪽방향부터 차례대로 탐색을 진행한다. 왼쪽 방향에 아직 청소하지 않은 공간이 존재한다면, 그 방향으로 회전한 다음 한 칸을 전진하고 1번부터 진행한다. 왼쪽 방향에 청소할 공간이 없다면, 그 방향으로 회전하고 2번으로 돌아간다. 네 방향 모두 청소가 이미 되어있거나 벽인 경우에는, 바라보는 방향을 유지한 채로 한 칸 후진을 하고 2번으로 돌아간다. 네 방향 모두 청소가 이..
문제 - (https://programmers.co.kr/learn/courses/30/lessons/42885) 사용할 변수의 범위가 1~50000 이어서 한 명마다 완전탐색을 해서 구명보트에 탈 수 있는지 여부를 판단하는 것은 무리가 있다고 생각했다. 곰곰이 생각해보니, people 배열을 오름차순 정렬한 뒤, 가장 처음 사람과 마지막 사람의 합에 따라 처리해주면 될 것 같다는 생각을 했다. 왜냐면 이미 정렬된 배열이므로, 첫 사람은 몸무게가 가장 적게 나갈 것이고 마지막 사람은 몸무게가 가장 많이 나갈 것이기 때문에 첫사람과 마지막 사람의 몸무게 합이 limit를 넘으면 그 이후 사람은 더 계산해볼 필요도 없이 limit를 넘을 것이기 때문이다. 📌주의할 점 더해서 limit를 넘는 경우, 넘지 않..
문제 - (https://programmers.co.kr/learn/courses/30/lessons/42883) 그리디 문제다. k만큼 제거하는 것이므로 number의 길이에서 k를 뺀 만큼의 길이가 정답 문자열의 길이가 됨을 알아야 한다. 예를 들어, number.length()가 7이고, k=3이면 answer.length() = 4 여야 할 것이다. 따라서 ㄱ. 첫 반복문 실행 시, number의 0 인덱스부터 3 인덱스까지 중 가장 큰 수를 선택한다. answer.append( 선택한 수 ) ㄴ. 두 번째 반복문 실행 시, 'ㄱ'에서 선택한 가장 큰 수의 다음 인덱스부터 4 인덱스까지 중 가장 큰 수를 선택한다. answer.append( 선택한 수 ) ㄷ. 세 번째 반복문 실행 시, 'ㄴ'에서..
문제 - (https://www.acmicpc.net/problem/15684) 문제를 딱 보자마자 "와 이거 어렵겠는데?"라는 생각이 들었다. 왜냐하면 사다리를 타서 i에서 i로 가는 걸 어떻게 확인해야 할지가 막막했기 때문이다. 그런데 이 부분은 막상 구현해보니 어렵지 않았다. 내 코드에서 checkLadder() 함수를 보면 된다. 다른 사람 코드를 보니 나보다 더 간단하게 구현했지만 내 코드도 조건을 확인하는데 지장 없다. 그럼 이제 생각해볼 것이, 선을 몇 개 그어야 i에서 i로 가도록 할 수 있겠는가 이다. 보자마자 완전탐색하면 되겠다는 생각이 들었지만... 경우의 수가 너무 많다는 생각이 들었다. 그래서 잘못생각한 줄 알고 고민에 빠져있었는데, 아니나 다를까 문제에 조건이 있었다. 만약, 정..
- Total
- Today
- Yesterday
- 구명보트
- 톱니바퀴
- Greedy
- 완전탐색
- 14891
- 드래곤 커브
- 구현
- 백준
- dfs
- Access-Control-Allow-Origin
- 인구이동
- 자바
- java
- withCredentials
- 배열순회
- 16234
- header
- 사다리 조작
- 큰 수 만들기
- 그리디
- 코테
- 프로그래머스
- 재귀
- 시뮬레이션
- 브라우저 요청
- 아기상어
- 우선순위큐
- BOJ
- 코딩테스트
- 코딩테스트 연습
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |