![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bjO9d0/btrGfWp5pdk/LKcFAAf5duCKsUFmYBYGbk/img.png)
📚 문제 입력 첫째 줄에 레벨의 수 N이 주어진다. (1 ≤ N ≤ 100) 다음 N개 줄에는 각 레벨을 클리어하면 얻는 점수가 첫 번째 레벨부터 마지막 레벨까지 순서대로 주어진다. 점수는 20,000보다 작은 양의 정수이다. 출력 첫째 줄에 점수를 몇 번 감소시키면 되는지 출력한다. 입력 예시 1 3 5 5 5출력 예시 1 3입력 예시 2 4 5 3 7 5출력 예시 2 6🧑🏻💻 풀이 과정 뒤에서부터 시작해서 이전 값이 뒤의 값보다 크거나 같다면 while문으로 반복하며, 이전 값을 1씩 감소시키며, 카운트를 증가하자. 5 5 5 -> 5 4 5 -> 3 4 5 n = int(input()) arr = [int(input()) for _ in range(n)] cnt = 0 for idx in rang..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/zbXbM/btrFZFbWw1R/VhEIi690icrWxKKoAFn1v0/img.png)
📚 문제 입력 첫 번째 행은 케이스의 개수, T이다. 다음 행부터는 T개의 케이스들이 나온다. 각 케이스는 블리트릭스가 고른 하나의 숫자 N으로 구성된다. 제한 1 ≤ T ≤ 100. 0 ≤ N ≤ 10^6. 출력 각 케이스에 대해서, 케이스 번호가 x이고 y가 정답일 때, Case #x: y라고 출력해야 한다. 입력 예시 5 0 1 2 11 1692출력 예시 Case #1: INSOMNIA Case #2: 10 Case #3: 90 Case #4: 110 Case #5: 5076힌트 예제 입출력 1번에 대해서, 2 × 0 = 0, 3 × 0 = 0 등등으로 이어지므로, 블리트릭스는 0외에는 다른 숫자를 기록할 수 없을 것이며, 따라서 영원히 잠에 들 수 없다. 예제 입출력 2번의 경우, 1, 2, 3,..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/ldlWL/btrFDgb03fV/t2Kz6Bu3FJaev7bEZoLAs1/img.png)
📚 문제 입력 첫 번째 줄에는 총 게임 횟수 N과 해킹을 통해 얻은 플레이어 정보의 수 P가 주어진다. (N과 P는 1,000이하의 자연수) 그리고 두 번째 줄에는 이긴 경우 획득 점수 W와 졌을 때 떨어지는 점수 L, 그리고 IRON 티어에서 벗어나기 위한 점수 G가 주어진다. (0 ≤ W, L ≤ 100, 1 ≤ G ≤ 100,000, 이 때, W, L, G는 정수) 그리고 다음 P개의 줄에는 플레이어의 이름과 무조건 이길 수 있는 경우 W, 무조건 지는 경우 L이라는 단어가 플레이어 이름과 쌍으로 나온다. 그리고 그 다음 N개의 줄에는 같이 게임을 하는 플레이어의 이름이 나온다. 플레이어 이름은 반드시 대문자로 나오며 길이는 20이 넘지 않는다. 출력 0점부터 시작하였을 때 형동이가 아이언 티어에서..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/baN2al/btrFBHgup3D/xjjtzKkl8JC3KGbnPHrZF0/img.png)
📚 문제 입력 첫 번째 줄에는 테스트케이스의 개수 T(T ≤ 25)가 입력된다. 각 테스트케이스는 한 줄에 2개의 문자열 s와 p가 공백으로 구분되어 입력되며 한신이는 p를 복사하여 s를 만들어 내는 것을 목표로 한다. s의 최대 길이는 10,000이고, p의 최대 길이는 100이다. 출력 각 테스트 케이스에 맞는 한신이가 p를 이용하여 s를 타이핑할 때 걸리는 최소 시간(초 단위)을 출력하라! 입력 예시 1 2 banana bana asakusa sa출력 예시 1 3 5🧑🏻💻 풀이 과정 count함수를 이용하여, 주어진 문자열(s)에 해당하는 문자(word)의 개수(cnt)를 얻어내자. 문자열에서 문자를 지우고 남은 문자의 개수(replaced_s)와 cnt를 합치자. n = int(input()) ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/b0xP95/btrFBis2eSW/Eu2omdOIn7kcj5WTYItbmk/img.png)
📚 문제 입력 첫 번째 줄에 과일의 개수 N (1 ≤ N ≤ 1,000) 과 스네이크버드의 초기 길이 정수 L (1 ≤ L ≤ 10,000) 이 주어집니다. 두 번째 줄에는 정수 h1, h2, ..., hN (1 ≤ hi ≤ 10,000) 이 주어집니다. 출력 첫 번째 줄에 스네이크버드의 최대 길이를 출력합니다. 입력 예시 1 3 10 10 11 13출력 예시 1 12입력 예시 2 9 1 9 5 8 1 3 2 7 6 4출력 예시 2 10🧑🏻💻 풀이 과정 과일의 높이를 오름차순 정렬하자 정렬된 과일의 높이가 주어진 길이보다 작거나 같다면 길이를 1 증가 시켜주자 N, L = map(int, input().split()) H = list(map(int, input().split())) H.sort() fo..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bXfh8C/btrFrdTMBJ8/MpdiUJSzCBKfBjczKKDPx0/img.png)
📚 문제 제한 조건 arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. 입력 예시 1 [4,3,2,1]출력 예시 1 [4,3,2]입력 예시 2 [10]출력 예시 2 [-1]🧑🏻💻 풀이 과정 배열의 첫 번째 값을 변수(min_val)에 저장해두고, 반복하면서 가장 작은 수를 찾아 remove하자 def solution(arr): min_val = arr[0] for i in range(1, len(arr)): if min_val > arr[i]: min_val = arr[i] arr.remove(min_val) return [-1] if len(arr) < 1 else arr # 테스트를 위한 코드입니다. print(solution([4, 3,..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bp9h3p/btrFnBAZGN3/LzyUCIWIs5btkAjc6b7jN1/img.png)
📚 문제 입력 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거나 같은 음이 아닌 정수이다. 출력 첫째 줄에 S의 최솟값을 출력한다. 입력 예시 1 5 1 1 1 6 0 2 7 8 3 1출력 예시 1 18입력 예시 2 3 1 1 3 10 30 20출력 예시 2 80입력 예시 3 9 5 15 100 31 39 0 0 3 26 11 12 13 2 3 4 5 9 1출력 예시 3 528🧑🏻💻 풀이 과정 A 배열은 오름차순 정렬, B 배열은 내림차순으로 정렬해서 작은값 * 큰값 순으로 계산하자. N = int(input()) A = list(map(int,..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/Rkrgj/btrFg6VxPxR/NEkO4KQJbGcQEe6PM45K4K/img.png)
📚 문제 입력 첫째 줄에 문서가 주어진다. 문서의 길이는 최대 2500이다. 둘째 줄에 검색하고 싶은 단어가 주어진다. 이 길이는 최대 50이다. 문서와 단어는 알파벳 소문자와 공백으로 이루어져 있다. 출력 첫째 줄에 중복되지 않게 최대 몇 번 등장하는지 출력한다. 입력 예시 1 ababababa aba 출력 예시 1 2 입력 예시 2 a a a a a a a 출력 예시 2 2 입력 예시 3 ababababa ababa 출력 예시 3 1 입력 예시 4 aaaaaaa aaa 출력 예시 4 3 🧑🏻💻 풀이 과정 주어진 문자열에 target이 되는 문자가 몇 번 반복되는지 구하면 되는 문제이다. count(문자열 내부에서 특정 문자, 또는 문자열이 포함되어 있는지를 카운팅 하여 반환) 함수를 이용하자! s,..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bCpKoI/btrE9QwDCGt/3VgbhTk5IqIHGMM3PG3sSK/img.png)
📚 문제 입력 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 출력 첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다. 입력 예시 5 0 4 1 2 1 -1 2 2 3 3 출력 예시 1 -1 1 2 2 2 3 3 0 4 🧑🏻💻 풀이 과정 sorted를 이용하여 y를 우선 정렬 후, x를 정렬하자 n = int(input()) datas = [list(map(int, input().split())) for _ in range(n)] # y 좌표를 기준으로 오름차순 정렬 # y 좌표가 같다면 x 좌표를 기준으로 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dcGUuI/btrEXN9sgrr/Qbx48j9dzfAOealBQj4gvK/img.png)
📚 문제 입력 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1000) 출력 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. 입력 예시 4 출력 예시 SK 🧑🏻💻 풀이 과정 # 왼쪽부터 순번, 돌 갯수, 현재까지 가져간 돌의 갯수 SK : 1 1 1 CY : 2 3 4 SK : 3 1 5 CY : 4 3 8 SK : 5 1 9 CY : 6 3 12 SK : 7 1 13 CY :8 3 16 위 표를 확인해보면, 상근이는 홀수번째 턴에 돌을 1개씩 가져가고, 창영이는 짝수번째 턴에 돌을 3개씩 가져간다. 이는 곧, 입력(n)이 홀수면 상근이 패배, 짝수면 창영이 패배가 된다. print('SK') if int(input()) % 2 == 0 else print("CY")
- Total
- Today
- Yesterday
- 스프링
- spring boot
- 리팩토링
- mysql 8.0
- 노마드
- 노마드코더
- 데이터베이스
- 코틀린
- Spring
- 알고리즘
- 백준
- 인프런
- 스프링 부트
- leetcode
- kotlin
- 파이썬
- 문자열
- 그리디
- 구현
- Algorithm
- 코테
- Real MySQL
- 릿코드
- 스프링부트
- 김영한
- 북클럽
- 정렬
- webflux
- 자료구조
- MySQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |