https://programmers.co.kr/competitions/144/2020-web-be-first
[ALGORITHM]
[1번 문제]
숫자로만 이루어진
Source 문자열과 Taget 문자열이 주어지며 두 문자열의 길이는 같을때
Source 문자열의 하나의 숫자를 1늘리는 연산과 1줄이는 연산이 있는데
연산의 횟수를 최소로하여 Source 문자열을 Target 문자열로 만들었을 때
연산의 최솟값을 출력하는 문제였습니다.
[1번 풀이]
source 문자열과 target 문자열을 모두 한자리씩 자른후 늘이는 연산을 했을때
연산이 더 적은지 줄이는 연산을 했을때 연산이 더 적은지 비교하여 더적은 쪽의 값을
더하여 문제를 해결하였습니다.
[2번 문제]
로봇청소기가 먼지를 청소하는 문제였습니다.
로봇이 청소를 시작하는 위치와 전체 청소구역 크기와 청소구역의 장애물, 먼지정보
그리고 로봇의 현재위치를 입력받습니다. 로봇은 초기값으로 북쪽을 바라보고있을때
문자열을 통해 로봇을 움직이며 명령이 끝났을때 로봇청소기가 청소한 먼지의 총 합을
출력하는 문제였습니다.
[2번 풀이]
로봇이 이동하였을때 이동이 가능한 위치면 이동하고 이동할수 없으면 해당 명령을 취소
하는 함수를 작성하여 문제를 해결하였습니다.
[비슷한문제]
https://www.acmicpc.net/problem/13567
[3번문제]
자연수 N개가 중복없이 들어있는 배열이 있을때 서로 다른 두 원소의 위치를
바꾸는 Swap 연산을 이용해 원소들의 위치를 바꿔 서로 인접한 원소의 차가 K 이하가
되도록 하는데 Swap 연산을 가장 적게 사용하였을때의 연산 횟수를 출력하는 문제였습니다.
[3번 풀이]
자연수 배열의 최대길이가 8로 매우 작아 모든 순서쌍을 구한후 인접 크기의 차이가
K이하인지를 검사하며 만약 K이하일 경우 입력배열에서 Swap을 몇번 사용해야지 해당
배열을 만들 수 있는지를 계산하여 풀었습니다.
[후기]
여러 기업들이 한번에 보는 코딩테스트라서 그런지 코테 자체의 난이도가 매우낮은 편이였습니다.
알고리즘 3문제, SQL 1문제가 출제되었는데 전체문제를 푸는데 한시간 정도 걸렸습니다.
문제가 쉬우면 서류합격선이 높아지더군여..ㅠ
'Algorithm > Coding Test' 카테고리의 다른 글
2020 카카오 인턴십 코딩테스트 후기 (0) | 2020.05.10 |
---|