30802번: 웰컴 키트
백준/문제2024. 7. 8. 15:0830802번: 웰컴 키트

문제 출처 : https://www.acmicpc.net/problem/30802 언어 : Kotlin 문제 설명 :2024년 2월 3일 개최 예정인 온사이트 그랜드 아레나에서는 참가자들에게 티셔츠 한 장과 펜 한 자루가 포함된 웰컴 키트를 나눠줄 예정입니다. 키트를 제작하는 업체는 다음과 같은 조건으로만 주문이 가능합니다. 티셔츠는 S, M, L, XL, XXL, 그리고 XXXL의 6가지 사이즈가 있습니다. 티셔츠는 같은 사이즈의 T장 묶음으로만 주문할 수 있습니다.펜은 한 종류로, P자루씩 묶음으로 주문하거나 한 자루씩 주문할 수 있습니다. 총 N명의 참가자 중 S, M, L, XL, XXL, XXXL 사이즈의 티셔츠를 신청한 사람은 각각 S, M, L, XL, XXL, XXXL명입니다. 티셔츠는 남..

30804번: 과일 탕후루
백준/문제2024. 7. 8. 14:2430804번: 과일 탕후루

문제 출처 : https://www.acmicpc.net/problem/30804 언어 : Kotlin 문제 설명 :은하는 긴 막대에 N개의 과일이 꽂혀있는 과일 탕후루를 만들었습니다. 과일의 각 종류에는 1부터 9까지의 번호가 붙어있고, 앞쪽부터 차례로 S_1, S_2, ..., S_N번 과일이 꽂혀있습니다. 과일 탕후루를 다 만든 은하가 주문을 다시 확인해보니 과일을 두 종류 이하로 사용해달라는 요청이 있었습니다. 탕후루를 다시 만들 시간이 없었던 은하는, 막대의 앞쪽과 뒤쪽에서 몇 개의 과일을 빼서 두 종류 이하의 과일만 남기기로 했습니다. 앞에서 a개, 뒤에서 b개의 과일을 빼면 S_{a+1}, S_{a+2}, ..., S_{N-b-1}, S_{N-b}번 과일, 총 N-(a+b)개가 꽂혀있는 탕후..

16934번: 게임 닉네임
백준/문제2024. 7. 5. 14:1016934번: 게임 닉네임

문제 출처 : https://www.acmicpc.net/problem/16934 언어 : Kotlin 문제 설명 :스타트링크에서 매우 재미있는 게임을 만들었다. 이 게임은 정말 재미있다. 게임에는 유저가 접속하는 기능이 있고, 각 유저는 가입할 때, 자신의 닉네임을 정해야 한다. 닉네임은 알파벳 소문자로만 이루어져 있고, 두 유저가 같은 닉네임을 정하는 것도 가능하다. 이 게임은 유저의 닉네임을 이용해서 내부에 저장할 별칭을 만든다. 별칭은 유저에게 보여지지는 않고, 내부에서만 사용된다. 저장 공간을 최소로 하기 위해서 별칭의 길이를 최소로 하려고 한다. 별칭은 유저 닉네임의 접두사(Prefix) 중에서 가장 길이가 짧은 것을 사용한다. 이때, 접두사가 이전에 가입한 닉네임의 접두사가 아니어야 한다. ..

30958번: 서울사이버대학을 다니고
백준/문제2024. 7. 5. 13:4530958번: 서울사이버대학을 다니고

문제 출처 : https://www.acmicpc.net/problem/30958 언어 : Kotlin 문제 설명 :서울사이버대학을 다니고 나의 성공 시대 시작됐다서울사이버대학을 다니고 나를 찾는 회사 많아졌다서울사이버대학을 다니고 내 인생이 달라졌다미래를 바꾸는 전략서울사이버대학교 서울사이버대학교 로고송은 중독성 강한 멜로디로 매우 매우 유명하다. 빅데이터·AI센터에서 데이터 분석을 하던 노교수와 천교수는 어디선가 들려오는 로고송을 듣고 가장 많이 사용된 글자가 몇 번이나 등장하는지 궁금해졌다. 멜로디에 중독된 두 교수를 대신해서 가장 많이 사용된 글자가 몇 번 등장하는지를 출력하자.  입력 :첫 번째 줄에 로고송의 길이 N이 주어진다. (1 ≤ N ≤ 10^5)두 번째 줄에 로고송이 한 줄의 문자열로..

23813번: 회전
백준/문제2024. 7. 5. 13:3923813번: 회전

문제 출처 : https://www.acmicpc.net/problem/23813 언어 : Kotlin 문제 설명 :정수 N이 주어질 때, N의 일의 자리 숫자를 떼서 제일 앞자리 왼쪽에 이어 붙힌 것을 N의 회전이라고 정의하자. 예를 들어, 12345의 회전은 51234가 된다. 3의 회전은 3이 된다. 이렇게 회전을 계속하다 보면 원래 N으로 돌아오게 된다. 원래 N으로 돌아올 때까지의 N을 회전하여 나온 수를 모두 더한 값을 출력하시오. 입력 :모든 자리의 숫자가 다른 정수 N이 주어진다. 각 자리의 숫자는 1이상이고, 1 ≤ N ≤ 987,654,321이다. 출력 : N의 회전 결과들을 모두 더한 값을 출력한다. 단, 결과값을 32비트 정수형으로 처리할 수 없을 수 있음에 유의하라. 제한 사항 :..

25325번: 학생 인기도 측정
백준/문제2024. 7. 4. 16:5425325번: 학생 인기도 측정

문제 출처 : https://www.acmicpc.net/problem/25325 언어 : Kotlin 문제 설명 :학생 이름이 공백으로 구분된 문자열 A가 주어진다. 문자열 A에는 중복된 학생 이름이 존재하지 않는다. 학생 이름은 알파벳 소문자로 이루어져 있다. 각 학생이 좋아하는 학생의 학생 이름 목록이 공백으로 구분된 문자열로 주어진다. 각 학생이 좋아하는 학생은 1명 이상 주어지고, 내가 나를 좋아하는 예는 없다. 나를 좋아하는 학생이 많을수록 나의 인기도가 높다. 인기도가 높은 학생부터 낮은 학생 순으로 학생 이름과 해당 학생을 좋아하는 학생 수를 출력하자. 인기도가 같은 경우 학생 이름 기준으로 오름차순으로 출력하자. 입력 :첫 번째 줄에 학생 수 n이 주어진다. 두 번째 줄에 n명의 학생 이..

13022번: 늑대와 올바른 단어
백준/문제2024. 7. 4. 16:4513022번: 늑대와 올바른 단어

문제 출처 : https://www.acmicpc.net/problem/13022 언어 : Kotlin 문제 설명 :다음은 늑대 나라에서 사용하는 올바른 단어에 대한 설명이다. 임의의 양의 정수 n에 대해서, 'w'가 n번 나오고, 그 다음에 'o'가 n번, 그 다음에 'l'이 n번, 그 다음에 'f'가 n번 나온 단어는 올바른 단어이다.올바른 단어 두 개를 이은 단어도 올바른 단어이다.1번과 2번 조건으로 만들 수 있는 단어만 올바른 단어이다.다음은 올바른 단어의 예시이다. 1번 규칙으로 만든 "wolf", "wwoollff", "wwwooolllfff"는 모두 올바른 단어이다.2번 규칙으로 만든 "wolfwwoollff"은 올바른 단어이다.2번 규칙을 두 번 써서 만든 "wolfwwoollffwolf..

20114번: 미아 노트
백준/문제2024. 7. 4. 16:0920114번: 미아 노트

문제 출처 : https://www.acmicpc.net/problem/20114 언어 : Kotlin 문제 설명 :미아는 과일을 좋아하는 소녀이다. 그녀의 비밀 노트에는 과일에 대해 그녀가 수집한 정보들이 가득하다. 평소와 다를 바 없이 과일들을 잔뜩 관찰하고 기쁜 마음으로 하교하던 어느 날, 친구가 뒤에서 덮치는 바람에 실수로 비밀 노트를 물에 빠뜨리고 말았다. 다행히 노트는 건질 수 있었지만, 노트에 적어두었던 정보들이 번지고 지워져버려 일부는 알아볼 수 없게 되었다. 노트에 적힌 문자열이 번진 패턴은 일정했는데, 가령 "abc" 문자가 세로로 3글자씩, 가로로 2글자씩 번진 경우는 다음과 같았다. aabbccaabbccaabbcc이 패턴을 이용해 문자열을 완전히 복원할 수 있을 것 같았지만, 아쉽..

28454번: Gift Expire Date
백준/문제2024. 7. 3. 16:5228454번: Gift Expire Date

문제 출처 : https://www.acmicpc.net/problem/28454 언어 : Kotlin 문제 설명 :임스는 여러 사람에게 기프티콘을 받았다. 현재 사용할 수 있는 기프티콘이 몇 개인지 궁금했던 임스는 지금까지 받은 기프티콘을 확인하고자 한다. 임스가 현재 사용할 수 있는 기프티콘의 총개수를 구해 임스를 도와주자. 현재 날짜 이후의 유효기간을 가진 기프티콘만 사용 가능하다. 임스가 받은 N개의 기프티콘의 유효기간이 주어질 때, 임스가 현재 사용할 수 있는 기프티콘의 개수를 구하여라. 주어지는 날짜 형식은 YYYY-MM-DD이고 이 문제에서 윤년은 고려하지 않는다. 즉, 연도와 관계없이 항상 2월은 28일까지만 주어진다. 입력 :첫 번째 줄에는 현재 날짜가 주어진다.두 번째 줄에는 임스가 받..

31822번: 재수강
백준/문제2024. 7. 3. 16:3231822번: 재수강

문제 출처 : https://www.acmicpc.net/problem/31822 언어 : Kotlin 문제 설명 :국민대학교에서는 수강 신청, 성적 조회 등 과목의 구분이 필요할 때 ’과목 코드’를 사용한다. 과목 코드는 10자리로 이루어져 있으며, 7번째 자리는 영어 알파벳 대문자 또는 숫자, 8번째 자리는 하이픈(-), 나머지 자리는 숫자로 이루어져 있다. 당신은 망한 학점을 복구하기 위해 재수강을 해야 하는데, 재수강을 하기 위해서는 재수강할 과목과 과목코드의 앞 5자리가 일치하는 과목을 수강해야 한다. 재수강할 과목의 과목 코드와 수강 신청 가능한 과목 목록이 주어지면, 재수강으로 인정되는 과목이 몇 개가 있는지 출력하라. 입력 :첫 번째 줄에 재수강할 과목의 과목 코드가 주어진다. 두 번째 줄..

image