codingtest

· Algorithm
문제 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이 들어있지 않으며, 바구니에는 공을 1개만 넣을 수 있다. 도현이는 앞으로 M번 공을 넣으려고 한다. 도현이는 한 번 공을 넣을 때, 공을 넣을 바구니 범위를 정하고, 정한 바구니에 모두 같은 번호가 적혀있는 공을 넣는다. 만약, 바구니에 공이 이미 있는 경우에는 들어있는 공을 빼고, 새로 공을 넣는다. 공을 넣을 바구니는 연속되어 있어야 한다. 공을 어떻게 넣을지가 주어졌을 때, M번 공을 넣은 이후에 각 바구니에 어떤 공이 들어 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N (1 ≤ N ≤ 10..
· Algorithm
문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 출력 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다. 예제 입력 1 복사 5 20 10 35 30 7 예제 출력 1 복사 7 35 풀이 let n: Int = Int(readLine()!)! let numbers: [Int] = readLine()!.split(separator: " ").map { Int(String(($0))! } print(numbers.min(..
· Algorithm
문제 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. 예제 입력 1 복사 5 예제 출력 1 복사 * ** *** **** ***** 풀이 import Foundation var input = Int(readLine()!)! var result = "" for i in 0..
· Algorithm
문제 - 머쓱이가 바탕화면 정리하는 데 드래그 시작점부터 드래그 끝점의 좌표를 구해야 한다. 풀이과정 - 솔직히 굉장히 간단한 문제인데 격자라는 문제에 쫄아서 어렵게 생각하고 돌아갔던 것 같다. - 2차원 배열을 for문으로 돌리고 시작점의 좌표와 끝점의 좌표를 구하면 되는데, 실패과정 - 나는 wallpaper[i]의 각각에서 #이 나올 때마다 [0,0,0,0]라고 정의된 result함수에 값을 바꿔주는 방식으로 접근했다. - 이렇게 하면 어렵게 어렵게나마 값을 구할 수는 있는데 문제는 startPoint의 Column값이 0일 때의 케이스에 대처할 수가 없었다. 정정과정 - 약 20시간 가까이 삽질하고 나서 다시 문제를 보니 드래그 시작점(lux, luy)과 끝점 (rdx, rdy)의 특징은 명확했다..
공부가 밥먹여주더라
'codingtest' 태그의 글 목록