| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 | 30 | 31 |
- 코딩테스트
- html
- Kotlin
- javascript
- SQL
- 검색트리
- 알고리즘
- front-end
- inflearn
- CSS
- 정렬
- DP
- 구현
- codecademy
- 다이나믹 프로그래밍
- 프로그래머스
- 자바
- SWEA
- 클린코드
- DFS
- BFS
- Color
- algorithm
- android
- Spring
- Web
- 순환
- java
- CleanCode
- 해슁
- Today
- Total
목록Algorithm/BAEKJOON (47)
깡뇽
Silver 2에 해당하는 문제이다. 수열의 크기와 수열을 이루는 값들이 입력되었을 때에 수열의 가장 긴 증가하는 부분 수열의 길이를 출력해야 한다. 11053번 가장 긴 증가하는 부분 수열 풀이 [시도1] 틀렸습니다 n = int(input()) numbers = list(map(int, input().split())) cnt = 0 for i in range(n): if i == 0: num = numbers[i] else: if num < numbers[i]: num = numbers[i] cnt += 1 else: continue print(cnt+1) 입력받은 numbers를 검사하면서 이전의 값과 비교해서 크면 카운트를 해주도록 코딩했는데 틀렸다... dp 개념을 사용해야 한다고 하는데.. 사..
Siver 4 레벨에 해당하는 문제이다. 이전에 풀었던 스택 문제와 같은 자료 구조 시리즈이다. 10845번 큐 풀이 [시도1] pypy3 맞았습니다!! import sys n = int(input()) queue = [] for i in range(n): say = sys.stdin.readline().rstrip() if 'push' in say: num = say.split() queue.append(num[-1]) elif say == 'pop': if len(queue) == 0: print(-1) else: print(queue[0]) queue = queue[1:] elif say == 'size': print(len(queue)) elif say == 'empty': if len(queue..
Siver 4 레벨에 해당하는 문제이다. 금방끝내고 싶어서 이 문제를 골랐는데 이상하게 더 많은 틀렸습니다를 만났다... 자료 구조 중에서 스택 구조를 경험해 볼 수 있는 문제이다. push를 하면 스택에 값을 넣고, pop는 스택의 맨 윗 값을 제거하며 반환하고, size는 스택의 크기를 알려주고, empty는 스택이 비워짐을 확인해주고, top은 스택의 맨 윗 값을 반환한다. 10828번 스택 풀이 [시도n] pypy3 맞았습니다!! import sys n = int(input()) stack = [] for i in range(n): say = sys.stdin.readline().rstrip() if 'push' in say: num = say.split() stack.append(num[-1])..
이코테 책의 그리디 파트에서 1이 될 때까지 문제를 풀고 난 이후에 이 문제를 발견해서 비슷하겠지 싶어서 도전해 보았다. 1463번 1로 만들기 풀이 [고민] n = int(input()) cnt = 0 while n != 1: if n % 3 == 0: n = n / 3 cnt += 1 else: if n % 2 == 0: n = n / 2 cnt += 1 else: n = n - 1 cnt += 1 print(cnt) 1이 될 때까지 문제를 풀었을 때는 2가지 경우여서 간단하게 풀 수 있었지만 이 문제는 단순히 횟수만 구해서는 안된다. 처음에는 너무 간단하네~ 하고 예제 입력 10을 넣었더니 3이 나와야하는데 4가 출력되었다. 10 -> 9 -> 3 -> 1로 3번 만에 가능하기 때문이다. 즉, 3으..
Siver 4에 해당하는 문제이다. 주어진 수 N개 중에서 소수가 몇 개인지 찾고, 소수의 개수를 출력하는 문제이다. 1978번 소수 찾기 풀이 파이썬 연산자 중에서 %는 나머지를 찾아준다. ( /는 나눈 몫의 실수형, //는 나눈 몫의 정수형 ) 소수에는 1이 포함되지 않는다. 1 이외의 자연수 중에서 1과 자기자신으로만 나누어 떨어지는 수를 소수(prime number)라고 말한다. [시도1] pypy3 틀렸습니다 import sys n = int(sys.stdin.readline()) numbers = list(map(int, sys.stdin.readline().split())) cnt = 0 for i in numbers: #1은 소수가 될 수 없으므로 1이 아닌 모든 수 if i != 1: f..
첫줄 : 입력할 점의 개수 N N줄 : 점( x와 y 값 ) 입력받은 점을 x부터 정렬, x가 같으면 y에 따라 정렬 2845번 파티가 끝나고 난 뒤 풀이 [시도1] pypy3 시간 초과 n = int(input()) numbers = [] for i in range(0, n): a, b = map(int, input().split()) numbers.append([a,b]) numbers.sort() for i in range(0, n): num = numbers[i] a = num[0] b = num[1] print(str(a) + ' ' + str(b)) [시도2] pypy3 시간 초과 import sys n = int(sys.stdin.readline()) numbers = [] for i in ..
코딩을 하기는 싫고,, 백준 하루에 1개를 풀기로 했으나 어제 못해서 하나를 더 풀어야 한다...! 그래서 Siver 5에서 해결 숫자가 높은 문제를 하나 더 골라보았다. 32,822명이 풀었다고 하는데 문제를 열자마자 이상한 기호들에 뒤로 가기를 누르고 싶었지만 참아보았다.. 2941번 크로아티아 알파벳 풀이 [시도1] pypy3 틀렸습니다! -> 맞았습니다! word = ['c=','c-','dz=','d-','lj','nj','s=','z='] input = input() len = len(input) count = 0 i = 0 while i len-2: count += 1 break elif i == len-2: letter = input[i:] if letter in ..
solved.ac에서 Silver 5에 속하는 문제이다. 레벨마다 문제를 푼 사람 수가 많은 문제들을 위주로 풀라고 조언을 들었다! 이 문제는 30,450명의 사람들이 해결을 했다고 한다..! 내가 이 문제를 풀고 나서 숫자가 1개 높아진 것일까? 궁금하군 다음에 문제를 풀 때에 확인해 봐야겠다. 2751번 수 정렬하기 2 풀이 [시도1] pypy3 맞았습니다!! n = int(input()) numbers = [] for i in range(0, n): num = int(input()) numbers.append(num) numbers.sort() for i in range(0,n): print(numbers[i]) 아무리 쉬운 문제더라도 나의 풀이가 가장 좋다고 이야기할 수는 없지만 혼자 해냈을 때는..
sloved.ac를 통해 알게된 나는 Bronze5...! (물론 백준 문제들을 정말 몇 개 밖에 풀지 않아서 그런 것 같지만,,, 우선은 낮은 등급 용납 못해!) 그리하여 겨울방학동안 일주일에 3문제 이상 푸는 것을 목표로 잡았다. 일단 오랜만에 첫 시작으로 Bronze5 등급으로 분류된 문제 중에서 제목이 마음에 드는 한 문제를 골라서 풀어 보았다😀 아자아자 파아팅ヽ(✿゚▽゚)ノ 2845번 파티가 끝나고 난 뒤 풀이 [시도1] pypy3 맞았습니다!! l, p = map(int, input().split()) one, two, three, four, five = map(int, input().split()) total = l * p print(one-total, two-total, three-tota..
20361번 일우는 야바위꾼 파이썬 풀이 [시도1] pypy3 시간 초과 n, x, k = map(int, input().split()) turn = [list(map(int, input().split())) for _ in range(k)] cup = [0] * n cup[x-1] += 1 for i in range(0, k): for j in range(0, 2): if turn[i][j] == cup.index(1)+1: if j == 0: cup[turn[i][j]-1] -= 1 cup[turn[i][j+1]-1] += 1 break else: cup[turn[i][j]-1] -= 1 cup[turn[i][j-1]-1] += 1 print(cup.index(1)+1) => 좀 더 효율적으로 코드를..
202999번 3대 측정 파이썬 풀이 [시도1] pypy3 출력 초과 n, k, l = map(int, input().split()) arr = [list(map(int, input().split())) for _ in range(n)] count = 0 cnt = '' for i in range(0, n): sum = 0 sum = arr[i][0] + arr[i][1] + arr[i][2] if sum >= k and arr[i][0] >= l and arr[i][1] >= l and arr[i][2] >= l : count = count + 1 cnt = cnt + str(i) print(count) for i in range(0,len(cnt)): for j in range(0,3): print(..