전체 글

안녕하세요. 공부하는 RedStone 입니다. 어서오세요!
Study/코딩 테스트

2021.2.5 [백준] 세수정렬

정렬 알고리즘 Q www.acmicpc.net/problem/2752 2752번: 세수정렬 숫자 세 개가 주어진다. 이 숫자는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 숫자는 모두 다르다. www.acmicpc.net A sort()를 사용하고, end를 이용하여 출력한다. 코드 array = list(map(int, input().split())) #int로 입력받지 않으면 제대로 정렬 안될 수 있다. array.sort() for i in array: print(i, end = ' ')

Study/코딩 테스트

2021.2.5 [백준] 수 정렬하기

정렬 알고리즘 Q www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net A 주의할 점은 N개의 줄에 들어오는 숫자가 음수일 수 있다는 점이다. 따라서 리스트 입력받을 때, int를 사용하지 않고 문자열로 입력받으면 '-1' 보다 '-2'가 더 크게 된다. 따라서 문자열 상태로 sort쓰면 답이 달라진다. 코드 n = int(input()) array = list(int(input()) for _ in range(n)) array.sort() #오름차순 정렬 for i ..

Study/코딩 테스트

2021.2.5 [백준] 듣보잡

이진 탐색 알고리즘 Q www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net A 이진 탐색 알고리즘을 이용해 풀었다. 주의할 점은 듣보잡의 명단 제출시 사전순으로 출력해야 한다는 점이다. 코드 n, m = map(int, input().split()) array = list(input() for _ in range(n)) target_list = list(input() for _ in range(m)) array.sort() #이진 탐색을 위한 오름차순 정렬 d..

Study/코딩 테스트

2021.2.5 [백준] 숫자 카드2

이진 탐색 알고리즘 Q www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net A 이진 탐색 알고리즘을 해보니 시간초과가 떳다. 그냥 collections 모듈에 있는 Counter를 사용하여 풀었다. 코드 n = int(input()) array = list(map(int, input().split())) m = int(input()) target_list = list(map(int, input().split())) from co..

Study/코딩 테스트

2021.2.4 [백준] 숫자 카드

이진 탐색 알고리즘 Q www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net A 코드 n = int(input()) array = list(map(int, input().split())) m = int(input()) target_list = list(map(int, input().split())) array.sort() #이진 탐색을 위해 오름차순 정렬 def binary(array, target, start, end): while..

Study/코딩 테스트

2021.2.4 [백준] 나무 자르기

이진 탐색 알고리즘 Q www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net A 이진 탐색 알고리즘 공부한 내용 중 실전 문제 떡볶이 떡 자르기와 동일한 유형이다. target이 될 값이 없을 때에는 def가 아니라 while과 if를 이용해서 풀자. 코드 n, m = map(int, input().split()) #정수 입력받기 array = list(map(int, input().split())) #떡 개별 높이 입력받기..