일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- C언어
- C
- 생활코딩
- Algospot
- Cleancode
- programmers
- JavaScript
- greedy
- BASIC
- graph
- 백준
- String
- Algorithm
- Math
- DP
- BOJ
- php
- 인프런
- 종만북
- udemy
- dfs
- 따라하면서 배우는 C언어
- 따라하며 배우는 C언어
- 따배씨
- BFS
- web
- sorting
- 정수론
- Python
- server
- Today
- Total
목록Algorithm PS/BOJ (113)
몽상실현개발주의
[BOJ] 9613 / GCD 합 / Python 파이썬 https://www.acmicpc.net/problem/9613 9613번: GCD 합 첫째 줄에 테스트 케이스의 개수 t (1 ≤ t ≤ 100)이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있다. 각 테스트 케이스는 수의 개수 n (1 < n ≤ 100)가 주어지고, 다음에는 n개의 수가 주어진 www.acmicpc.net 풀이 N 개 정수의 정수쌍 조합을 구하고, 그 쌍들의 최대 공약수 합을 구하는 문제이다. combinations 과 gcd method 를 이용해서 구하였다. import sys from itertools import combinations import math T = int(sys.stdin.readline()) f..
[BOJ] 1850 / 최대공약수 / Python 파이썬 https://www.acmicpc.net/problem/1850 1850번: 최대공약수 모든 자리가 1로만 이루어져있는 두 자연수 A와 B가 주어진다. 이때, A와 B의 최대 공약수를 구하는 프로그램을 작성하시오. 예를 들어, A가 111이고, B가 1111인 경우에 A와 B의 최대공약수는 1이고, A www.acmicpc.net 풀이 "1" 로만 이루어진 숫자열의 최대 공약수는 숫자열의 길이의 최대 공약수 만큼의 숫자로 이루어진 숫자이다. import math A, B = map(int, input().split()) C = math.gcd(A, B) for _ in range(C): print("1", end="")
[BOJ] 2609 / 최대공약수와 최소공배수 / Python 파이썬 https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 풀이 최대공약수와 최소공배수를 구하는 문제이다. 최대공약수를 유클리드 호제법을 이용하여 구하였더니, 시간초과가 발생하였다. 그래서 Python Math 라이브러리를 활용하였다. import math A, B = map(int, input().split()) print(math.gcd(A, B)) print(math.lcm(A, B))
[BOJ] 10430 / 나머지 / Python 파이썬 https://www.acmicpc.net/problem/10430 10430번: 나머지 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) www.acmicpc.net 풀이 아주아주 가단한 사칙연산 문제이다. A, B, C = map(int, input().split()) print((A+B)%C) print(((A%C) + (B%C))%C) print((A*B)%C) print(((A%C) * (B%C))%C)
[BOJ] 1158 / 요세푸스 문제 / Python 파이썬 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 풀이 Circular Queue(원형 큐) 를 구현하는 문제이다. Python 에서 Circular Queue 는 deque 의 rotate() method 를 활용하면 쉽게 구현이 가능하다. rotate(N) 은 N 만큼 deque 객체를 회전 시켜준다. N 이 양수이면 오른쪽으로 회전, N 이 음수이면 오른쪽으로 회전 ex) [1, 2, 3].rotate(1) -> [2, 3, 1] 문제의 풀인은 원형 큐를 index 를 순..
[BOJ] 11656 / 접미사 배열 / Python 파이썬 https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 풀이 모든 접미사 배열 문자열을 List 에 담고, sorted() 로 정렬 해 주었다. string = input() stringList = [] for i in range(len(string)): stringList.append(string[i:]) for s in sorted(stringList): print(s)
[BOJ] 11655 / ROT13 / Python 파이썬 https://www.acmicpc.net/problem/11655 11655번: ROT13 첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다. www.acmicpc.net 풀이 알파벳을 List 에 담아 index 로 암호화를 구현 하였다. 0~25 를 넘어가는 숫자는 26으로 나눈 나머지 값으로 처리 해 주었다. asciiCode = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'] rot = ..
[BOJ] 10820 / 문자열 분석 / Python 파이썬 https://www.acmicpc.net/problem/10820 10820번: 문자열 분석 문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있 www.acmicpc.net 풀이 문자열을 판단하는 method 인 isdecimal() : 문자열이 10진수로 이루어져 있으면 True isupper() / islower() : 문자열이 알파벳 대/소 문자로 이루어져 있으면 True면 True 를 이용하여 풀어보았다. import sys while 1: string = sys.stdin.readline().r..