Python 백준 알고리즘 1717 : 집합의 표현
·
Coding Test
https://www.acmicpc.net/problem/1717 1717번: 집합의 표현 초기에 $n+1$개의 집합 $\{0\}, \{1\}, \{2\}, \dots , \{n\}$이 있다. 여기에 합집합 연산과, 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산을 수행하려고 한다. 집합을 표현하는 프로그램을 작 www.acmicpc.net 이 문제는 유니온 파인드 문제인데, 처음에는 어떻게 풀 지 몰라서 헤매다가 구글링 해서 유니온 파인드의 정석 문제인 것을 알았다. https://jainn.tistory.com/87 유니온 파인드(UNION-FIND) 파이썬 / 자바 구현 유니온 파인드(Union-Find)는 트리형태를 갖는 자료구조이다. 합집합 찾기 및 상호 배타적 집합(Disjoint-se..
Python 백준 알고리즘 4673 : 셀프 넘버
·
Coding Test
https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net # 4673 셀프 넘버 numbers = list(range(1,10001)) remove_list = [] for num in numbers : for n in str(num) : num += int(n) if num
Python 백준 알고리즘 15596 : 정수 n개의 합
·
Coding Test
https://www.acmicpc.net/problem/15596 15596번: 정수 N개의 합 C++17, Java 8, Python 3, C11, PyPy3, C99, C++98, C++11, C++14, Go, C99 (Clang), C++98 (Clang), C++11 (Clang), C++14 (Clang), C11 (Clang), C++17 (Clang) www.acmicpc.net # 15596 정수 n개의 합 def solve(a: list) -> int: return sum(a) sum() 함수를 사용해 줬다.
Python 백준 알고리즘 8959 : OX퀴즈
·
Coding Test
https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net # 8958 OX퀴즈 n = int(input()) for _ in range(n): ox_list = list(input()) score = 0 sum_score = 0 for ox in ox_list: if ox =='O': score += 1 sum_score += score else: score = 0 print(sum_score) 테스트 케이스의 개수를 n에 입력받고 ..
Python 백준 알고리즘 3052 : 나머지
·
Coding Test
3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net # 3052 for문 사용 a = [] for i in range(10): num = int(input()) if num%42 not in a: a.append(num % 42) print(len(a)) 우선 빈 배열 a를 만들어준다. 10번의 반복으로 42로 나눌 값들을 입력받아, 입력받은 값을 42로 나눈 나머지 값이 배열 a에 존재하지 않으면 나머지 값을 배열 a에 추가해 준다. 밑에는 set() 함수를 사용한 코드이다. # 3052 set()함수 사용 a = [] for i in range(10): num = int(inpu..