일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- python3
- 이코테
- dp
- 이진탐색
- 그리디
- 알고리즘_스터디
- 구현
- 알고리즘스터디
- 그래프이론
- mrc
- Level2
- 백준
- 단계별문제풀이
- 최단경로
- ODQA
- 프로그래머스
- U_stage
- 기술면접
- 백트랙킹
- 정렬
- Level1
- 글또
- 부스트캠프_AITech3기
- 개인회고
- 부스트캠프_AITech_3기
- 파이썬 3
- dfs
- 주간회고
- Level2_PStage
- 다시보기
- Today
- Total
목록알고리즘_코딩테스트/이것이 코딩테스트다 (63)
국문과 유목민

"이것이 코딩테스트다(나동빈 저)"에서 나온 문제에 대한 코드를 다루고 있습니다. 문제에 대한 구체적인 설명과 조건 등은 책을 참고해주시기 바랍니다. 소요시간: 30분 + a 1. 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/60060 코딩테스트 연습 - 가사 검색 programmers.co.kr 2. 접근 방식 - 이진탐색을 활용해서 문제를 푼다. - 가사 단어의 길이별로 가사 단어를 개별적으로 저장시켜 놓는다. (그렇게 되면 길이가 1인 애들부터 n인 애들끼리 각자 묶일 것이다.) - 찾으려는 가사의 조합을 이진 탐색으로 찾기 위해서 위 가사 단어의 리스트를 정렬시킨다. - 이 때 찾으려는 queries의 원소들이 '???'가 앞과 뒤에 붙을 ..

"이것이 코딩테스트다(나동빈 저)"에서 나온 문제에 대한 코드를 다루고 있습니다. 문제에 대한 구체적인 설명과 조건 등은 책을 참고해주시기 바랍니다. 소요시간: 20 + a 1. 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/60063 코딩테스트 연습 - 블록 이동하기 [[0, 0, 0, 1, 1],[0, 0, 0, 1, 0],[0, 1, 0, 1, 1],[1, 1, 0, 0, 1],[0, 0, 0, 0, 0]] 7 programmers.co.kr 2. 접근 방식 - BFS를 활용해서 목표 지점까지 최단경로를 구하는 문제로 이해할 수 있다. - 이동하는 경우와 회전하는 경우를 다 계산해서 로봇이 특정 위치에서 움직일 수 있는 모든 가능한 경우를 리턴..

"이것이 코딩테스트다(나동빈 저)"에서 나온 문제에 대한 코드를 다루고 있습니다. 문제에 대한 구체적인 설명과 조건 등은 책을 참고해주시기 바랍니다. 소요시간: 40 + a 1. 문제 설명 - 복도에 있는 선생님들을 피해 학생들이 야자를 째려고 한다. 학생들은 장애물 3개를 이용해서 선생님들의 시야를 가리고 탈출해야 한다. 선생님들은 상하좌우에 장애물이 없다면 끝까지 볼 수 있다. 2. 접근 방식 - DFS나 BFS가 아닌 Combinations를 활용해서 문제를 풀 수 있다. 왜냐하면 입력이 적당히 크기 때문이다. - 선생님들의 위치 좌표와 빈 공간의 좌표를 따로 저장해둔다. 선생님들의 위치 좌표는 상하좌우를 확인할 때 활용하고, 위치 좌표는 장애물의 조합을 만들 때 사용한다. 3. 코드 from it..

"이것이 코딩테스트다(나동빈 저)"에서 나온 문제에 대한 코드를 다루고 있습니다. 문제에 대한 구체적인 설명과 조건 등은 책을 참고해주시기 바랍니다. 소요시간: 30분 + a 1. 문제 설명 - 숫자가 순서대로 N개 주어지고, 연산자가 N-1개 주어진다. 연산자를 수 사이에 넣어서 다양한 식을 만들 때, 그 결과가 최대가 되는 경우와 최소가 되는 경우를 출력하는 문제 2. 접근 방식 - DFS를 활용해서 문제를 푼다. - +, -, *, / 연산자의 개수에 해당하는 만큼 연산을 수행할 수 있게 코드를 만든다. 3. 코드 n = int(input()) data = list(map(int, input().split())) add, minus, mul, div = map(int, input().split())..

"이것이 코딩테스트다(나동빈 저)"에서 나온 문제에 대한 코드를 다루고 있습니다. 문제에 대한 구체적인 설명과 조건 등은 책을 참고해주시기 바랍니다. 소요시간: 20분 + a 1. 문제 설명 - 3차원의 행성의 좌표가 주어지며, 각 행성을 연결하는 도로를 최소한의 비용으로 짓고자 한다. 이때 각 행성을 연결할 수 있는 최소 비용은 얼마인지를 묻는 문제 2. 접근 방식 - 각 행성의 좌표를 X축, Y축, Z축끼리만 따로 계산한다. - 그리고 각 행성의 거리에 대한 계산 정보를 X, Y, Z축 모두 계산해서 하나의 리스트에 넣고 정렬을 수행한다. - 각 거리에 대한 계산정보가 담긴 리스트를 돌면서 사이클이 발생하지 않을 때만 집합 연산을 수행한다. (이렇게 하면 X, Y, Z축 우선 순위에 상관없이 비용이 ..

"이것이 코딩테스트다(나동빈 저)"에서 나온 문제에 대한 코드를 다루고 있습니다. 문제에 대한 구체적인 설명과 조건 등은 책을 참고해주시기 바랍니다. 소요시간: 40분 + a 1. 문제 설명 - 테스트 케이스의 개수가 주어진다. - 각 테스트 케이스별로 팀 수, 작년에 i등을 한 팀의 번호 - 상대적인 등수가 바뀐 쌍의 수가 입력으로 주어진다. - 출력형식은 다음과 같다. - 1등팀부터 순서대로 출력한다. - 확실한 순위를 찾을 수 없다면 ?를 출력한다. - 데이터에 일관성이 없어서 순위를 정할 수 없는 겨우 'IMPOSSIBLE'을 출력한다. 2. 접근 방식 - 위상정렬 알고리즘을 활용한다. - 순위를 진입차수로 구분한다. 진입차수가 큰 것일 수록 순위가 낮다는 것으로 생각한다. - 확실한 순위를 찾을..