백준
-
[백준] 단어정렬 (1181번 파이썬)Coding Test/Algorithm 2021. 7. 15. 06:02
https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 이번 문제는 생각을 좀 하게 만든 문제였다. 하지만 여전히 가볍게 풀었다 음하하하 입력 조건을 보면 문자열의 길이가 최대 50개라고 한다. 나는 어렵게 정렬하기보다는 다른 문제를 풀때 방문한 좌표를 저장하는 스킬을 응용해서 풀었다. 길이가 50인 배열을 만들고 입력받은 문자열의 길이에 해당하는 인덱스에 해당 문자열을 넣었다. word = sys.stdin.readline().rstrip..
-
[백준] 체스판 다시 칠하기 (1018번 파이썬)Coding Test/Algorithm 2021. 6. 12. 02:28
요즘 1일 1문제 푸는 재미 들린 필자. 오늘은 체스판 다시 칠하기를 풀었다. https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 알고리즘 분류는 부르트포스이다. (내 맘대로 풀라는 문제) 사실 이런 문제를 좋아한다. 왜냐하면 특정 알고리즘을 이용해야만 풀리는 문제는 좀.. 창의력을 막는 기분이다. 이런 문제 특징이 굉장히 다양한 방법으로 풀 수 있기 때문에 다양한 측면을 생각하여 푸는 능력을 기를 수 있다는 것이다. 이 문제는 두가지가 중..
-
[백준] 이항계수1 (11050번 파이썬)Coding Test/Algorithm 2021. 6. 11. 12:38
https://www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 으아아아악 수학이라니! 이번 문제의 핵심은 팩토리얼 구현과 이항계수 구현이다. 1. 이항계수 구현 구글링을 하면 알 수 있겠지만 https://namu.wiki/w/%EC%9D%B4%ED%95%AD%EC%A0%95%EB%A6%AC 여기에 나오는 식을 이용해서 짜면 된다. 2. 팩토리얼 구현 파이썬에서 팩토리얼을 사용하려면 math 모듈을 쓰면된다. 문법 : math.factorial(val) 이 두가지 개념을 안다면 쉽게 코드를 짤 수 있을 것이다.
-
[백준] 팰린드롬수 (1259번 파이썬)Coding Test/Algorithm 2021. 6. 10. 10:54
https://www.acmicpc.net/problem/1259 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 이효리는 거꾸로 해도 이효리~ 이번 문제는 매우 간단하다. 파이썬스럽게 풀면 아주 쉽게 풀 수 있다. arr[::-1] 라는 문법을 사용하면 된다. : : -1 각각 무슨 뜻을 의미하는지 만약 모르겠다면 리스트 개념을 다시 공부하고 문제를 푸는 것을 추천드린다. 이번 문제는 해결 코드 따위는 필요없어보인다.
-
[백준] 블랙잭 (2798번 파이썬)Coding Test/Algorithm 2021. 6. 9. 06:43
https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 이번 문제는 재미있는 카드게임인 블랙잭이다! 처음 문제를 보고 나는 겁을 먹었다. 요즘 내 수준보다 높은 문제들을 많이 도전하다보니 문제를 읽고 적용해야할 알고리즘 기법이 떠오르지 않는다면 겁부터 먹게되는 것 같다. 하지만 이 문제는 사실 쉬운 문제로 시간 복잡도를 크게 신경 쓸 필요가 없었다. 그래서 알고리즘 분류도 브루트포스로 되어있다. 3개의 카드를 어떤식으로..
-
[백준] 균형잡힌 세상 (4949번) 파이썬Coding Test/Algorithm 2021. 3. 21. 05:09
www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마 www.acmicpc.net '()[]'의 균형이 잡혔는지 아닌지를 확인하는 문제이다. '(', '['와 ')', ']'는 서로 대칭이 되어야 "yes" 판정을 내릴 수 있다는 점이 중요하다. 나는 deque 라이브러리를 이용해서 스택의 역할로 사용했다. '('와 '['가 올 때는 스택에 넣고 ')'와 ']'가 가장 마지막에 넣은 기호와 대칭인지를 확인하기에 적합하다고 생각했기 때문이다. (ex, ')'가 있다면 스택의 to..
-
[백준] 소수&팰린드롬 (1747번) 파이썬Coding Test/Algorithm 2021. 3. 20. 02:22
www.acmicpc.net/problem/1747 1747번: 소수&팰린드롬 어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, www.acmicpc.net 이번 문제는 소수를 구하는 알고리즘을 참고해서 풀면 많은 도움이 된다. 에라토스테네스의 체를 통해서 소수를 구하는 알고리즘을 구현하면 편하다. ko.wikipedia.org/wiki/에라토스테네스의_체 에라토스테네스의 체 위키백과, 우리 모두의 백과사전. 수학에서 에라토스테네스의 체는 소수를 찾는 방법이다. 고대 그리스 수학자 에라토스테네스가 발견하였다. 알고리즘[편집] 2..
-
[백준] 등수 구하기 (1205번) 파이썬Coding Test/Algorithm 2021. 3. 19. 01:46
www.acmicpc.net/problem/1205 1205번: 등수 구하기 첫째 줄에 N, 송유진의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000 www.acmicpc.net import sys n, score, p = map(int, sys.stdin.readline().split()) if n == 0: print(1) exit() arr = list(map(int, sys.stdin.readline().split())) if min(arr) >= score: if n == p: print(-1) elif min(arr) == score: print(..