문제는 위와 같습니다. 저한테는 조금 난이도가 있었던 문제였습니다. 먼저 이 문제는 Union-Find 알고리즘을 사용하였습니다. Union-Find 알고리즘은 Disjoint Set을 표현하기 위한 알고리즘인데, Disjoint Set 은 서로 중복되지 않는 부분 집합들로 나누어진 원소들에 대한 정보를 저장하고 조작하는 자료구조로 서로소 집합 자료구조입니다. 이 문제를 해결하기 위해 딕셔너리 타입으로 자신(key)과 연결된 대표 노드(value)를 표현하고, 새로운 조합이 들어올 때마다 각각의 대표 노드(부모 노드)를 찾아서(Find) 다른 쪽의 부모 노드로 연결(Union)해 주면서 union 과 find 를 반복하는 것입니다. 또한 이때 연결되는 노드의 수를 알아야하기 때문에 이를 표현하는 딕셔너리..
문제는 위와 같고 처음에는 이진 탐색 방식으로 풀었다가 시간 초과가 나서 주어지는 N 개의 정수를 담는 Set 을 만든 뒤 그 안에 X 정수가 존재하는지를 알아내는 방식으로 구현하였습니다. 파이썬 코드는 다음과 같습니다. from sys import stdin N = int(stdin.readline()) A = set(map(int, stdin.readline().split())) M = int(stdin.readline()) find = list(map(int, stdin.readline().split())) for item in find: if item in A: print(1) else: print(0) 자바 코드는 다음과 같습니다. " "로 구분되는 문자열을 한번에 int[] 로 받는 방법과 i..
문제는 위와 같으며 이미 만들어진 SHA-256 라이브러리를 통해 구현하였습니다. 파이썬 코드는 다음과 같습니다. import hashlib from sys import stdin S = stdin.readline().strip() hashStr = hashlib.sha256(S.encode()) print(hashStr.hexdigest()) 자바 코드는 다음과 같습니다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.security.MessageDigest; public class Main { public static void main(String[] args) throws Exception { Buffered..
- Total
- Today
- Yesterday
- AWS
- 소수
- 프로그래머스
- 에라토스테네스의 체
- java
- EC2
- BFS
- string
- cloudfront
- sort
- Algorithm
- ionic
- SWIFT
- 순열
- ECR
- Baekjoon
- 수학
- spring
- permutation
- search
- Combination
- CodeDeploy
- CodeCommit
- array
- CodePipeline
- 조합
- DFS
- programmers
- Dynamic Programming
- map
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |