![24510번: 시간복잡도를 배운 도도](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3DaqE%2FbtsHDLgC5Le%2F4YzoONlcYxjF7IUoAfh2ok%2Fimg.png)
문제 출처 : https://www.acmicpc.net/problem/24510 언어 : Kotlin 문제 설명 :도도는 이번 신촌캠프에서 시간복잡도의 개념에 대해 배웠다. 하지만 듣다가 졸려서 자버린 결과 오개념을 가져 버렸는데, 바로 반복문의 개수로만 시간복잡도를 판단한다는 것이다. 시간복잡도를 판단하기 위해 도도는 같은 줄에 몇 개의 반복문이 있는지 궁금해졌다. 도도가 반복문으로 생각하는 코드는 for, while 이다. 도도를 위해 같은 줄에 있는 반복문의 최대 개수를 구하는 프로그램을 작성해보자. 입력 :첫째 줄에 코드의 줄 개수 C (1 둘째 줄부터 C개의 줄에 걸쳐 코드가 입력된다. 입력으로 주어지는 코드는 모두 알파벳 소문자이다. 각 줄은 10,000자를 넘지 않는다. 출력 :첫째 줄..
![20154번: 이 구역의 승자는 누구야?!](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEGD0z%2FbtsHDAGnj04%2FkYJg8kci3FKkUK2eMFCv8K%2Fimg.png)
문제 출처 : https://www.acmicpc.net/problem/20154 언어 : Kotlin 문제 설명 :가톨릭대학교에 다니는 컴퓨터정보공학부 황톨릭은 코로나 때문에 슬퍼하는 친구들을 위해 게임을 하나 만들었다. 게임이 시작되면 알파벳 대문자로만 이루어진 문자열이 주어진다. 문자열이 주어지면 각 문자의 획수로 문자를 변환한다. 획수들을 갖고 앞에서부터 두 개씩 더해가는데 만약 짝이 지어지지 않는다면 그대로 다음 단계로 내려간다. 다음 단계부터는 이전 단계에서 두 개씩 더해가며 생성된 숫자들을 가지고 같은 과정을 반복한다. 과정을 반복하다가 결국 마지막 한 개의 수가 남았을 때 그 수가 홀수라면 이기는 것이고 짝수라면 지는 게임이다!! 예를 들어 "ABCDE"라는 문자열이 주어지면 ‘A’, ‘B..
![22351번: 수학은 체육과목 입니다 3](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEaYEU%2FbtsHCVXgOza%2FQsYKo2rbhRJP2H7XTkEyY0%2Fimg.png)
문제 출처 : https://www.acmicpc.net/problem/22351 언어 : Kotlin 문제 설명 :이환이는 4차 산업혁명 시대에 살고 있는 천재 5살 아기이다. 어느 날, 유치원 선생님은 이환이의 천재성을 알아본 후 다음과 같은 문제를 내줬다. A 이상 B 이하의 정수를 모두 더한 값은 얼마일까? 이환이는 천재성은 있지만 아직 아기라서 덧셈이 무엇인지는 잘 모른다. 다음 날, 이환이는 공책에 A 이상 B 이하의 모든 정수를 크기 순서대로 띄어쓰기 없이 적어 왔다. 예를 들어 A = 4, B = 21 일 경우, 이환이가 적어 온 답은 456789101112131415161718192021과 같다. 이환이는 특출난 과제 집착력을 가진 천재지만, 이환이의 선생님은 그렇지 않다. 사실, 이환이..
![23841번: 데칼코마니](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlljXy%2FbtsHDjpGW7a%2FXCOEChNfKZDk0xELQPTvaK%2Fimg.png)
문제 출처 : https://www.acmicpc.net/problem/23841 언어 : Kotlin 문제 설명 :시험과 과제에 지친 희권이는 취미로 그림을 그리기 시작했다. 하지만, 그림이 별로 마음에 들지 않아 데칼코마니로 바꾸려 한다. 위에 보이는 것처럼 그림을 좌우 방향으로 반으로 포개어 접으면, 맞닿는 면에 물감이 번지면서 데칼코마니가 완성된다.접은 그림은 원래대로 되돌릴 수 없기 때문에 희권이는 결과를 미리 알고 싶어 한다.희권이에게 그림을 데칼코마니 한 결과를 알려주자. 입력 :첫 줄에 그림의 세로 길이 정수 N과 가로 길이 정수 M이 주어진다. (1 ≤ N, M ≤ 50, M은 짝수)N개 줄에 M개씩 그림에 대한 정보가 주어진다.물감은 26가지가 있고, 각각 알파벳 대문자 하나로 나타낸다..
![17502번: 클레어와 팰린드롬](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMgNCJ%2FbtsHDIpegLs%2FF57feJv16VXSsT65NYS7V1%2Fimg.png)
문제 출처 : https://www.acmicpc.net/problem/17502 언어 : Kotlin 문제 설명 :클레어는 길이가 N인 팰린드롬 문자열을 가지고 있습니다.팰린드롬 문자열이란 앞에서부터 읽으나 뒤에서부터 읽으나 같은 문자열을 뜻합니다.예를 들어, "rotator", "racecar", "a"는 팰린드롬 문자열이지만 "palindrome", "poq" 는 팰린드롬 문자열이 아닙니다.하루는 장난기 많은 에드거가 클레어가 가지고 있는 팰린드롬 문자열의 일부를 지워버렸습니다.그 때문에 클레어가 많이 화가 나 있습니다. 클레어를 위해 문자열을 복구해주세요. 입력 :첫 번째 줄에 문자열의 길이 N (1 ≤ N ≤ 100) 이 주어집니다.두 번째 줄에는 일부 문자들이 지워진 길이가 N인 팰린드롬 문자..
![1593번: 문자 해독](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlCtzQ%2FbtsHzCpWqKR%2FhW2gDRx7Thvj72u12MTFKK%2Fimg.png)
문제 출처 : https://www.acmicpc.net/problem/1593 언어 : Kotlin 문제 설명 :마야 문자를 해독하는 일은 예상 외로 어려운 일이다. 현재에도 뜻이 완전히 밝혀진 마야 문자는 거의 없는 실정이며, 그나마 해독에 진척이 시작된 지는 30여 년도 되지 않았다. 마야 문자는 소리를 나타내는 여러 종류의 그림글자로 구성되는데, 이 글자들이 여러 위치에서 결합함으로써 단어를 형성한다. 마야 문자 해독을 어렵게 하는 요인 중 하나는 바로 단어를 읽는 순서이다. 마야 문자를 쓰는 고대인들은 단어를 기록할 때 특정한 규칙 대신, 그들이 보기에 좋게 보이도록 단어를 이루는 글자들을 아무렇게나 배열했다. 그렇기 때문에 고고학자들이 마야 기록에서 단어를 이루는 각 그림글자들의 발음을 알아내..
![2037번: 문자메시지](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FumZnu%2FbtsHzok9Btk%2FMX9bpftKhL6G8kA7Fzv7lK%2Fimg.png)
문제 출처 : https://www.acmicpc.net/problem/2037 언어 : Kotlin 문제 설명 :오른쪽 그림과 같은 핸드폰 자판이 있다. 이 자판을 이용하여 어떤 영어 메시지를 치려고 할 때, 걸리는 최소 시간을 구하는 프로그램을 작성하시오. 단, 1번은 누를 경우에는 공백이 찍힌다고 하자. 그리고 만약에 AC라는 문자를 치려 한다면 A를 치고 난 후 일정 시간을 기다린 후 C를 치면 된다. 하나의 문자를 입력하려면, 버튼을 눌러야 한다. 버튼을 누르면 버튼에 쓰여 있는 문자가 입력되며, 버튼을 누를 때 마다 다음 문자로 바뀌게 된다. 예를 들어, 2를 누르면 A, 2번 누르면 B, 3번 누르면 C이다. 공백을 연속으로 누를 때는 기다릴 필요가 없다. 입력 :첫째 줄에 p와 w가 주어진..
![4378번: 트ㅏㅊ;](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLpT2H%2FbtsHzt7Q8T3%2FmCkXGoZFjjUhsk4cqdVvi1%2Fimg.png)
문제 출처 : https://www.acmicpc.net/problem/4378 언어 : Kotlin 문제 설명 :가끔, 그러나 때때로, 우리들은 키보드에서 양손을 오른쪽으로 한 칸씩 이동한 상태로 두고 타자를 치는 경우가 있다. 즉, "ACMICPC.NET"을 위와 같은 방법으로 치게 되면 "SV,OV[V/MRY"이라는 이상한 문장을 보게 된다. 교준이는 장문을 쓰는데, 너무 급한 나머지 위와 같은 오류를 범한 채로 글을 완성해 버렸다. 이 글을 다시 쓰는 것은 교준이에게는 너무 힘든 일이다. 교준이를 대신해서 오류를 고쳐주자. 입력 :입력은 여러 줄로 이루어진다. 각 줄은 숫자나 공백, 알파벳 대문자, 위의 키보드에 표시되어 있는 문장 부호로 이루어져 있다. Q, A, Z나 `(back-quote),..
![31495번: 그게 무슨 코드니..](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft4EGv%2FbtsHy8O3dXs%2FfcbDzffBx2j24PNV5S9il1%2Fimg.png)
문제 출처 : https://www.acmicpc.net/problem/31495 언어 : Kotlin 문제 설명 :토카는 문자열을 출력하는 파이썬 코드를 작성하는 것에 자신감이 있었다. 어느 날 Hello, World!를 출력해달라는 요청을 받은 토카는 자신있게 코드를 작성했지만, 큰따옴표를 찍지 않는 치명적인 실수로 인해 컴파일 에러를 받고 말았다!!토카는 이로 인해 자신감을 잃어버려 문자열 출력을 멀리하고 있다. 당신은 토카의 자신감을 회복시켜 주기 위해 문자열을 입력받았을 때 정확한 문자열인지 판독하는 프로그램을 작성하고자 한다. 정확한 문자열은 문자열의 시작과 끝이 큰따옴표로 이루어져 있으며 큰따옴표를 제외한 문자가 포함되어 있는 문자열을 뜻하는 말로, 대표적으로는 "Hello, World!"가..
![16499번: 동일한 단어 그룹화하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcANAHS%2FbtsHxCqwJ58%2FRp9voKKfEZUdvlS72KIOY1%2Fimg.png)
문제 출처 : https://www.acmicpc.net/problem/16499 언어 : Kotlin 문제 설명 :소문자로 이루어진 단어 N개가 주어졌을 때, 단어가 총 최소 몇 개의 그룹으로 이루어져 있는지 구하는 프로그램을 작성하시오. 그룹에 속한 단어는 모두 같은 알파벳으로 이루어져 있어야 하고, 개수도 같아야 한다. 즉, 단어를 구성하는 알파벳의 순서만 달라야 한다. 입력 :첫째 줄에 단어의 개수 N이 주어진다. (2 ≤ N ≤ 100) 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 소문자로만 이루어져 있고, 길이는 10을 넘지 않는다. 출력 :첫째 줄에 그룹의 최소 개수를 출력한다. 제한 사항 :시간 제한 : 2초메모리 제한 : 512MB 입출력 예 :입력출력4 ca..