목록coding test (104)
just inside

문제 링크https://www.acmicpc.net/problem/1018문제 설명지민이는 자신의 저택에서 MN개의 단위 정사각형으로 나누어져 있는 M×N 크기의 보드를 찾았다. 어떤 정사각형은 검은색으로 칠해져 있고, 나머지는 흰색으로 칠해져 있다. 지민이는 이 보드를 잘라서 8×8 크기의 체스판으로 만들려고 한다.체스판은 검은색과 흰색이 번갈아서 칠해져 있어야 한다. 구체적으로, 각 칸이 검은색과 흰색 중 하나로 색칠되어 있고, 변을 공유하는 두 개의 사각형은 다른 색으로 칠해져 있어야 한다. 따라서 이 정의를 따르면 체스판을 색칠하는 경우는 두 가지뿐이다. 하나는 맨 왼쪽 위 칸이 흰색인 경우, 하나는 검은색인 경우이다.보드가 체스판처럼 칠해져 있다는 보장이 없어서, 지민이는 8×8 크기의 체스판으..

문제 링크https://www.acmicpc.net/problem/11866문제 설명요세푸스 문제는 다음과 같다.1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다.N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) 출력 예제와 같이 요세푸스 순열..

큐(Queue)란?데이터의 순서가 중요한 상황에서 자주 사용되는 자료구조FIFO (First-In-First-Out) : 먼저 들어간 데이터가 먼저 나오는 구조. 선입선출두 개의 끝점을 가짐front : 요소가 제거되는 쪽rear : 요소가 추가되는 쪽줄 서기나 대기열과 같은 개념에서 유래됨배열, 연결 리스트, 또는 데크(deque)로 구현할 수 있음 기본 동작enqueue : 큐의 끝에 요소 추가dequeue : 큐의 앞에서 요소 제거하고 반환데크(Deque)란?파이썬에서 구현된 큐 : collections 모듈에서 제공deque = Double-Ended Queue = 양방향 큐앞, 뒤 양쪽 방향에서 요소 추가 또는 제거 가능양 끝 요소의 append와 pop 속도가 매우 빠름일반적인 리스트의 경우,..

문제 링크https://www.acmicpc.net/problem/28702문제 설명FizzBuzz 문제는 i=1,2,⋯𝑖=1,2,⋯ 에 대해 다음 규칙에 따라 문자열을 한 줄에 하나씩 출력하는 문제입니다. i𝑖가 33의 배수이면서 55의 배수이면 “FizzBuzz”를 출력합니다. i𝑖가 33의 배수이지만 55의 배수가 아니면 “Fizz”를 출력합니다. i𝑖가 33의 배수가 아니지만 55의 배수이면 “Buzz”를 출력합니다. i𝑖가 33의 배수도 아니고 55의 배수도 아닌 경우 i𝑖를 그대로 출력합니다.FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열이 주어집니다. 이때, 이 세 문자열 다음에 올 문자열은 무엇일까요? 입력 FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열이 한 ..

문제 링크https://www.acmicpc.net/problem/11050문제 설명자연수 \(N\)과 정수 \(K\)가 주어졌을 때 이항 계수 \(\binom{N}{K}\)를 구하는 프로그램을 작성하시오. 입력첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) 출력\(\binom{N}{K}\)를 출력한다.제출 코드import sysinput = sys.stdin.readlinen, k = map(int, input().split())def factorial(n): if n == 0: return 1 return n * factorial(n-1) print(factorial(n) // (factorial(k) * fa..

문제 링크https://www.acmicpc.net/problem/10989문제 설명 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 제출 코드import sysinput = sys.stdin.readlinen = int(input().rstrip())nums = [0 for _ in range(10001)]for _ in range(n): num = int(input().rstrip()) nums[num] +..

문제 링크https://www.acmicpc.net/problem/2869문제 설명땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다.달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B 출력 첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다. 제출 코드import sysinput = sys.stdin.readlinea, b, v = map(int, input().split())cnt = (v - a) /..

문제 링크https://www.acmicpc.net/problem/2775문제 설명평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다.이 아파트에 거주를 하려면 조건이 있는데, “a층의 b호에 살려면 자신의 아래(a-1)층의 1호부터 b호까지 사람들의 수의 합만큼 사람들을 데려와 살아야 한다” 는 계약 조항을 꼭 지키고 들어와야 한다.아파트에 비어있는 집은 없고 모든 거주민들이 이 계약 조건을 지키고 왔다고 가정했을 때, 주어지는 양의 정수 k와 n에 대해 k층에 n호에는 몇 명이 살고 있는지 출력하라. 단, 아파트에는 0층부터 있고 각층에는 1호부터 있으며, 0층의 i호에는 i명이 산다. 입력 첫 번째 줄에 Test cas..