본문 바로가기
728x90

코딩테스트/이코테23

[CH4 구현] 아이디어를 코드로 바꾸는 구현 1 머릿속에 있는 알고리즘을 정확하고 빠르게 프로그램으로 작성하기 피지컬로 승부하기 코딩 테스트에서 구현(Implementation)이란 '머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정'이다 흔히 문제 해결 분야에서 구현 유형의 문제는 '풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제'를 의미한다 흔히 개발할 때 프로그래밍 언어의 문법에 능숙하고 코드 작성 속도(타자 속도)가 빠른 사람을 보고 '피지컬이 좋다'고 하는데 이런 의미에서 구현 유형은 '피지컬을 요구하는 문제'라고 할 수 있겠다 구현하기 어려운 문제는 아래와 같다 알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제 특정 소수점 자리까지 출력해야 하는 문제 문자열이 입력으로 주어졌을 때 한 문자 단위로 끊어서 리스트에 넣어야 하는(파.. 2021. 12. 5.
[CH3 그리디] 1이 될 때까지 1이 될 때까지 어떠한 수 N이 1이 될 때까지 다음의 두 과정 중 하나를 반복적으로 선택하여 수행하려고 한다 단, 두 번째 연산은 N이 K로 나누어 떨어질 때만 선택할 수 있다 1. N에서 1을 뺀다 2. N을 K로 나눈다 예를 들어 N이 17, K가 4라고 하자. 이 때 1번의 과정을 한 번 수행하면 N은 16이 된다 => 1 이 후 2번의 과정을 두 번 수행하면 N은 1이 된다 => 2 결과적으로 이 경우 전체 과정을 실행한 횟수는 3이 된다. 이는 N을 1로 만드는 최소 횟수이다 N과 K가 주어질 때 N이 1이 될 때까지 1번 혹은 2번의 과정을 수행해야 하는 최소 횟수를 구하는 프로그램을 작성해라 [입력 조건] 첫째 줄에 N(2 k; while(1) { target=(n/k)*k; //n이 될 .. 2021. 12. 4.
[CH3 그리디] 숫자 카드 게임 숫자 카드 게임 숫자 카드 게임은 여러 개의 숫자 카드 중에서 가장 높은 숫자가 쓰인 카드 한 장을 뽑는 게임 단, 게임의 룰을 지키며 카드를 뽑아야 하고 룰은 다음과 같다 숫자가 쓰인 카드들이 N X M 형태로 놓여 있다. 이때 N은 행의 개수를 의미하며, M은 열의 개수를 의미한다. 먼저 뽑고자 하는 카드가 포함되어 있는 행을 선택한다. 그 다음 선택된 행에 포함된 카드들 중 가장 숫자가 낮은 카드를 뽑아야 한다. 따라서 처음에 카드를 골라낼 행을 선택할 때, 이후에 해당 행에서 가장 숫자가 낮은 카드를 뽑을 것을 고려하여 최종적으로 가장 높은 숫자의 카드를 뽑을 수 있도록 전략을 세워야 한다. [입력 조건] 첫째 줄에 숫자 카드들이 놓인 행의 개수 N과 열의 개수 M이 공백을 기준으로 하여 각각 자.. 2021. 12. 3.
[CH3 그리디] 큰 수의 법칙 큰 수의 법칙 일반적으로 통계 분야에서 다루어지는 내용이지만, 이 책에서는 새로운 방식으로 다르게 사용한다고 한다! 동빈이의 큰 수의 법칙 : 다양한 수로 이루어진 배열이 있을 때 주어진 수들을 M번 더하여 가장 큰 수를 만드는 법칙 단, 배열의 특정한 인덱스(번호)에 해당하는 수가 연속해서 K번을 초과하여 더해질 수 없다! ex) 배열 {2, 4, 5, 4, 6} 에서 M=8, K=3이면 => 특정 인덱스의 수가 연속해서 3번까지만 더해질 수 있으므로, 6+6+6+5+6+6+6+5=46 이 된다! 만약 서로 다른 인덱스에 해당하는 수가 같은 경우에도 서로 다른 것으로 간주한다 ex) 배열 {3, 4, 3, 4, 3}으로 이루어진 배열이 있을 때 M=7, K=2 이면? => 2번쨰 원소와 4번쨰 원소는 .. 2021. 12. 2.
[CH3 그리디] 당장 좋은 것만 선택하는 그리디 그리디 알고리즘(Greedy Algorithm) 단순하지만 강력한 문제 해결방법이다 '탐욕법' 혹은 '욕심쟁이 알고리즘'으로도 불린다 단순 무식하게, 탐욕적으로 문제를 푸는 알고리즘 -> 현재 상황에서 지금 당장 좋은 것만 고르는 방법 그리디 알고리즘은 매 순간 가장 좋아보이는 것을 선택하며, 현재의 선택이 이후 미칠 영향은 고려하지 않는다! 그리디 알고리즘은 기준에 따라 좋은 것을 선택하는 알고리즘이기 때문에 문제에서 '가장 큰 순서대로', '가장 작은 순서대로'와 같은 기준을 알게 모르게 제시해준다 책의 예시와 비슷한 문제를 백준에서 풀어보자! https://www.acmicpc.net/problem/5585 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 5.. 2021. 12. 1.
728x90