boj
-
[백준/BOJ] 2204번. 도비의 난독증 테스트 파이썬(Python)알고리즘(algorithm)/백준(BOJ) 2021. 4. 13. 17:33
문제 꿍은 도비에게 영어단어들을 제시한 후 어떤 단어가 대소문자를 구분하지 않고 사전순으로 가장 앞서는지 맞추면 양말을 주어 자유를 얻게해준다고 하였다. 하지만 인성이 좋지 않은 꿍은 사실 그러고 싶지 않았기 때문에 대소문자를 마구 섞어가며 단어들을 제시했다. 예를 들어, apPle은 Bat보다 앞서지만 AnT보다는 뒤에 있는 단어다. 도비에게 희망은 여러분뿐이다! 여러분이 도비에게 자유를 선물해주도록 하자! 입력 각 테스트케이스는 정수 n (2 ≤ n ≤ 1000) 으로 시작하며 주어지는 단어의 개수를 뜻한다. 다음 각 n줄은 길이가 최대 20인 단어가 주어지며 대소문자의 구분을 없앴을 때 똑같은 단어는 주어지지 않는다. 마지막 입력은 0이 주어진다. 출력 각 줄에 각 테스트케이스에서 사전상 가장 앞서..
-
[백준/BOJ] 1913번. 달팽이 파이썬(Python)알고리즘(algorithm)/백준(BOJ) 2021. 4. 13. 17:21
문제 홀수인 자연수 N이 주어지면, 다음과 같이 1부터 N2까지의 자연수를 달팽이 모양으로 N×N의 표에 채울 수 있다. 9 2 3 8 1 4 7 6 5 25 10 11 12 13 24 9 2 3 14 23 8 1 4 15 22 7 6 5 16 21 20 19 18 17 N이 주어졌을 때, 이러한 표를 출력하는 프로그램을 작성하시오. 또한 N2 이하의 자연수가 하나 주어졌을 때, 그 좌표도 함께 출력하시오. 예를 들어 N=5인 경우 6의 좌표는 (4,3)이다. 입력 첫째 줄에 홀수인 자연수 N(3 ≤ N ≤ 999)이 주어진다. 둘째 줄에는 위치를 찾고자 하는 N2 이하의 자연수가 하나 주어진다. 출력 N개의 줄에 걸쳐 표를 출력한다. 각 줄에 N개의 자연수를 한 칸씩 띄어서 출력하면 되며, 자릿수를 맞..
-
[백준/BOJ] 1769번. 3의 배수 파이썬(Python)알고리즘(algorithm)/백준(BOJ) 2021. 4. 13. 16:34
문제 문제가 잘 풀리지 않을 때, 문제를 바라보는 시각을 조금만 다르게 가지면 문제가 쉽게 풀리는 경험을 종종 해 보았을 것이다. 여러 가지 방법이 있지만 그 중 하나로 우리가 풀고 싶은 문제를 좀 더 쉬운 문제로 바꾸어 풀어 보는 방법이 있다. 소위 "다른 문제로 바꾸어 풀기"라는 이 방법은, 아래와 같은 과정으로 이루어진다. 풀고자 하는 문제를 다른 문제로 변환한다. 변환된 문제의 답을 구한다. 구한 답을 원래 문제의 답으로 삼는다. 이를 보다 쉽게 이해하기 위해서, 다음의 초등학교 수학 수준의 예를 들어 보자. 문제 1. "양의 정수 X는 3의 배수인가?" 이 문제를 아래와 같이 변환하는데, X의 각 자리의 수를 단순히 더한 수 Y를 만든다. 예를 들어 X가 1107이었다면, Y는 1+1+0+7=9..