코딩테스트 11

리스트 자르기

정수 n : 반복될 횟수slicer : 정수 3개가 담긴 리스트 -> [ a, b, c ]num_list : 슬라이싱 해야 할 정수 리스트.slicer에 담긴 정수를 차례대로 a, b, c라고 할 때, n에 따라 다음과 같이 num_list를 슬라이싱 하려고 합니다.n = 1 : num_list의 0번 인덱스부터 b번 인덱스까지n = 2 : num_list의 a번 인덱스부터 마지막 인덱스까지n = 3 : num_list의 a번 인덱스부터 b번 인덱스까지n = 4 : num_list의 a번 인덱스부터 b번 인덱스까지 c 간격으로n으로 뭘 입력받는지에 따라서 리스트 슬라이싱의 범위가 정해진다. switch-case 문을 사용해야겠다는 생각이 드는데, kotlin에서는 when을 사용해서 간결하게 표현할 수 ..

코딩테스트 2025.02.11

가까운 1 찾기

원소가 0, 1뿐인 정수 배열 arr과 인덱스 값 idx가 주어졌을 때, idx보다 크면서 배열의 값이 1인 가장 작은 인덱스를 반환하는 solution 함수를 완성해야 한다. idx보다 큰 인덱스의 값이 1인 경우가 없으면 -1을 반환해야 한다. 입출력 예[0, 0, 0, 1]13[1, 0, 0, 1, 0, 0]4-1[1, 1, 1, 1, 0]33 두 번째 예시 같은 경우, idx=4가 주어지는데 그 이후 인덱스 5의 값이 0이고, 인덱스 4의 값도 0이라 -1을 반환해야 한다.세번째 예시는 인덱스 3의 값이 1이지만 그 이후 인덱스 4는 0이고 이보다 더 큰 인덱스가 더 이상 존재하지 않는다. 이 경우 3을 리턴한다. 근데 문제에서는 idx보다 '크면서' 조건을 만족하는 인덱스를 리턴해야 하는데, i..

코딩테스트 2025.02.10

99클럽 코테 스터디 8일차 TIL : computeIfAbsent()

입력첫 번째 줄에 정환이 음을 아는 노래의 개수 N$N$, 정환이 맞히기를 시도할 노래의 개수 M$M$이 공백으로 구분되어 주어진다.두 번째 줄부터 N$N$개의 줄에 걸쳐 노래 제목의 길이 T$T$, 영어 대소문자로 이루어진 문자열 노래 제목 S$S$, 해당 노래에서 처음 등장하는 일곱 개의 음이름 a1,a2,a3,a4,a5,a6,a7$a_1, a_2, a_3, a_4, a_5, a_6, a_7$이 공백으로 구분되어 주어진다.N+2$N+2$번째 줄부터 M$M$개의 줄에 걸쳐 정환이 맞히기를 시도할 노래의 첫 세 음의 음이름 b1,b2,b3$b_1, b_2, b_3$가 공백으로 구분되어 주어진다.주어지는 음이름은 각각 C, D, E, F, G, A, B 중 하나이다. 같은 제목이 두 번 이상 주어지지 않는..

코딩테스트 2025.01.24

99클럽 코테 스터디 7일차 TIL : HashSet

입력첫 번째 줄에 봉골레 파스타를 만들기 위한 요리 재료 종류의 개수 N$N$이 주어진다. (2≤N≤1000)$(2\le N\le 1 000)$두 번째 줄에 봉골레 파스타에 들어가는 N$N$가지의 요리 재료가 공백으로 구분되어 주어진다. 모든 요리 재료는 한 번씩만 주어진다.세 번째 줄에 봉골레 파스타에 들어가는 N$N$가지의 재료 중 현빈이가 사용한 N−1$N-1$가지의 요리 재료가 공백으로 구분되어 주어진다. 같은 요리 재료가 2$2$번 이상 주어지는 경우는 없다.각 재료는 알파벳 대/소문자로 이루어져 있고 길이 20$20$ 이하의 문자열이다. 같은 철자를 가진 요리 재료이더라도, 대소문자의 여부가 다르다면 두 요리 재료는 다른 요리 재료이다.출력현빈이가 빼먹은 재료를 출력한다.예제 입력 1 복사5F..

코딩테스트 2025.01.22

99클럽 코테 스터디 6일차 TIL : Hashing

요즘 몸이 별로 안 좋아서 5일차 TIL은 빼먹었다고...문제APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정의한다. 해시 함수는 무궁무진한 응용 분야를 갖는데, 대표적으로 자료의 저장과 탐색에 쓰인다.이 문제에서는 여러분이 앞으로 유용하게 쓸 수 있는 해시 함수를 하나 가르쳐주고자 한다. 먼저, 편의상 입력으로 들어오는 문자열에는 영문 소문자(a, b, ..., z)로만 구성되어있다고 가정하자. 영어에는 총 26개의 알파벳이 존재하므로 a에는 1, b에는 2, c에는 3, ..., z에는 26으로 고유한 번호를 부여할 수 있다. 결과적으로 우리는 하나의 문자열을 수..

코딩테스트 2025.01.22

99클럽 코테 스터디 4일차 TIL : reverse()

문제고려대학교에 입학한 새내기 호돌이는 안암역을 지나다가 한 붕어빵 장수를 만났어요.“안녕, 안녕, 안녕하십니까, 아저씨! 붕어빵 두 개 주세요.”“안녕을 세 번 외쳤으니 붕어빵 세 개!”붕어빵 두 개의 값을 내고 세 개를 받은 호돌이는 기분이 좋았어요. 호돌이가 붕어빵 하나를 꺼내어 한 입 물었는데…. 너무 뜨거워서 그만 붕어빵을 떨어뜨리고 말았어요ㅠㅠ붕어빵은 자유 낙하운동을 하면서 땅에 떨어졌는데 신기하게도 좌우가 뒤집힌 모양으로 착지했답니다. 호돌이가 붕어빵을 한 입 물기 전의 모양이 입력으로 주어지면, 땅에 떨어졌을 때에는 어떤 모양일지 출력하세요.입력첫째 줄에는 두 개의 정수 N과 M(0≤N,M≤10)이 주어집니다. 둘째 줄부터 N개의 줄에 걸쳐 붕어빵의 모양이 주어집니다. 각 행에는 공백을 나..

코딩테스트 2025.01.16

99클럽 코테 스터디 3일차 TIL : StringBuilder

문제문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다.QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\\$%*+-./: 이다.입력첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다.출력각 테스트 케이스에 대해 P를 출력한다.예제 입력 1 복사23 ABC5 ..

코딩테스트 2025.01.16

99클럽 코테 스터디 2일차 TIL : Scanner와 BufferedReader

백준 : 그대로 출력하기 2문제입력 받은 대로 출력하는 프로그램을 작성하시오.입력입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 있을 수도 있다.출력입력받은 그대로 출력한다.예제 입력 1 복사 HelloBaekjoon Online Judge 예제 출력 1 복사 HelloBaekjoon Online Judge   내 풀이JAVAEOF일 경우 null을 반환한다.lineCount가 100을 넘거나 null이면(EOF 도달) 반복이 종료된다.import java.io.BufferedReader;import ja..

코딩테스트 2025.01.15

99클럽 코테 스터디 1일차 TIL + String 접근 방식

문제 설명대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다.제한사항문자열 s의 길이 : 50 이하의 자연수문자열 s는 알파벳으로만 이루어져 있습니다.입출력 예s answer"pPoooyY"true"Pyy"false입출력 예 설명입출력 예 #1'p'의 개수 2개, 'y'의 개수 2개로 같으므로 true를 return 합니다.입출력 예 #2'p'..

코딩테스트 2025.01.13

백준 2일차 - 2840번

c프로그래밍 공부를 열심히 했던 보람이 있다. c프 공부할 때 정삼각형, 이등변삼각형, 일반 삼각형 구별하는 문제가 있었는데, 그때와 비슷한 방식으로 조건문을 만들었다. 주사위 눈금 변수를 x, y, z로 정해서 받았다. 상금은 reward 변수로. 먼저 세 눈금이 다 같을 때를 첫번째 조건으로 정하고, 두번째 조건을 모든 눈금이 다를 떄로 했다. 세 눈금 중 두 개 눈금만 같은 걸 조건식으로 쓰려면 굉장히 코드가 길어지고 복잡하고 귀찮아지기 때문에 그건 굳이 조건문을 쓰지 않고 else로 처리했다. 오늘 너무 바빠서 한 문제밖에 못 풀었지만 어쨌든 조건문 문제들 다 풀어서 기분 좋다.

코딩테스트 2022.07.05