코딩 테스트/코테 문제 리뷰 16

‘나 잡아 봐라’ 게임 (LINE 인턴 채용 코딩테스트 문제)

[문제 설명 및 파악] 더보기 문제 연인 코니와 브라운은 광활한 들판에서 ‘나 잡아 봐라’ 게임을 한다. 이 게임은 브라운이 코니를 잡거나, 코니가 너무 멀리 달아나면 끝난다. 게임이 끝나는데 걸리는 최소 시간을 구하시오. 조건 코니는 처음 위치 C에서 1초 후 1만큼 움직이고, 이후에는 가속이 붙어 매 초마다 이전 이동 거리 + 1만큼 움직인다. 즉 시간에 따른 코니의 위치는 C, C + 1, C + 3, C + 6, …이다. 브라운은 현재 위치 B에서 다음 순간 B – 1, B + 1, 2 * B 중 하나로 움직일 수 있다. 코니와 브라운의 위치 p는 조건 0

최소 공급 찾기

[문제 설명] 더보기 Q. 라면 공장에서는 하루에 밀가루를 1톤씩 사용합니다. 원래 밀가루를 공급받던 공장의 고장으로 앞으로 k일 이후에야 밀가루를 공급받을 수 있기 때문에 해외 공장에서 밀가루를 수입해야 합니다. 해외 공장에서는 향후 밀가루를 공급할 수 있는 날짜와 수량을 알려주었고, 라면 공장에서는 운송비를 줄이기 위해 최소한의 횟수로 밀가루를 공급받고 싶습니다. 현재 공장에 남아있는 밀가루 수량 stock, 밀가루 공급 일정(dates)과 해당 시점에 공급 가능한 밀가루 수량(supplies), 원래 공장으로부터 공급받을 수 있는 시점 k가 주어질 때, 밀가루가 떨어지지 않고 공장을 운영하기 위해서 최소한 몇 번 해외 공장으로부터 밀가루를 공급받아야 하는지를 반환하시오. dates[i]에는 i번째 ..

백준 1874번: 스택 수열

1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 반복해서 말하지만 항상 문제를 풀기 전에 생각해야 하는 것은 이 문제에서 결국 어떤 것을 구해야 하는지, 그것을 구하기 위해선 어떤 방식을 택해야 하는지 이다. 일단 이 문제에서 원하는 것은 '스택을 이용해 그 수열을 만들 수 있는지 없는지, 있다면 어떤 순서로 push와 pop 연산을 수행해야 하는지'이다. 즉, 만들 수 있으면 push와 pop 연산 반환, 없다면 없다고 반환하..

더하거나 빼거나

더보기 Q. 음이 아닌 정수들로 이루어진 배열이 있다. 이 수를 적절히 더하거나 빼서 특정한 숫자를 만들려고 한다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들기 위해서는 다음 다섯 방법을 쓸 수 있다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target_number이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 반환하시오. numbers = [1, 1, 1, 1, 1] target_number = 3 항상 코드를 작성하기 전에 이 문제가 요구하는 것이 무엇인지, 어떤 방법으로 풀어나가야 할지에 대해서 ..

백준 1439번: 뒤집기

1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net 항상 문제를 풀기 전엔 이문제가 요구하는 게 무엇이고 이 문제를 어떤 방식으로 풀어야 할지 생각하고 코드를 짜기 시작해야 된다. 이 문제가 요구하는 것은 결국 '주어진 문자열을 모두 0 혹은 모두 1로 같게 만드는 최소 횟수를 반환하시오.'이다. 결국 0과 1중 최적의 수가 뭘까 생각하다가 한값에 대해서만 결과를 내는 것이 아닌, 두 결과를 모두 구한 후에 두 개를 비교해서 반환하라는 것이다. (최적의 경우를 찾는 것이 아닌 두 가지의 모든 경우를 참고하는.....

코테 준비 시작

아무래도 취업 준비를 시작해야 하다 보니 이제 코딩 테스트를 슬슬 준비해야 될 때가 된 것 같다. 아무래도 머신러닝, 인공지능 쪽을 하다 보니 파이썬에 익숙해서 파이썬으로 코테 준비를 시작했다. 먼저 기본적으로 7월 초부터 중순까지는 다시 기본부터 잡자라는 생각으로 기본부터 심화까지 파이썬 강의 및 자료들을 보면서 공부를 했다. 강의는 '코딩 도장:파이썬'을 추천한다. 어느정도 코딩을 아는 상태로 들으면 이해하기 쉽고 진도가 굉장히 빠르게 나갈 수 있지만, 아예 모르는 상태로 들으면 진도 나가는 데 있어서 시간이 좀 걸릴 수 있다. 그래도 초보자가 듣기에도 굉장히 쉽게 설명하고 또, 중간중간 퀴즈들도 있어서 개념 잡기에는 굉장히 좋은 강의라고 생각한다. 또, 공부하면서 참고한 자료는 '점프 투 파이썬'이..