파이썬 백준 10799번: 쇠막대기
·
Algorithm/python 백준
문제 https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 풀이 stack을 이용하여 구현하였다. laser값이 '('인 경우 stack에 append한다. lasert값이 ')'일 때 두가지 경우가 존재한다. 이전이 '(' 인경우 = 레이저 이때 stack에 있는 '('의 개수(쇠막대의 개수)만큼 더해준다 이전이 ')'인경우 = 쇠막대기의 끝 이때는 1만 더한다.(다른 쇠막대에 영향을 주지 않고 자신만 추가) import sys laser=sys.stdin...
파이썬 백준 : 1946 신입 사원
·
Algorithm/python 백준
문제 https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 풀이 합격하기 위해서는 서류 등수나 면접 등수 중 모두가 다른 합격자보다 커서는 안된다! 우선 서류점수를 기준으로 정렬하고 이전 합격자의 면접점수보다 점수가 높은사람(=등수가 낮은사람)만 합격시키도록 하면 된다. import sys T=int(sys.stdin.readline()) for _ in range(T): N=int(sys.stdin.readline()) tes..
백준 1920 : 수 찾기
·
Algorithm/python 백준
문제 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 풀이 N = int(input()) A = set(map(int, input().split())) M = int(input()) target = list(map(int, input().split())) for num in target: if num in A: print("1") else: print("0") 덧) 처음에 list를 이용해서 풀었..
파이썬 백준 1764 : 듣보잡
·
Algorithm/python 백준
문제 https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 풀이 N,M = map(int,input().split(' ')) no_listen=set([input() for _ in range(N)]) #듣지못한사람 set생성 no_look=set([input() for _ in range(M)]) # 보지못한사람 set생성 no_listen_and_look=sorted(list(no_look & no_listen)) #듣보잡 (set의 교집합 사..
파이썬 백준 1427 : 소트인사이드
·
Algorithm/python 백준
문제 https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 sol1 N = input() num_list=[] for i in N: num_list.append(int(i)) #입력받은 문자를 숫자로 변환해서 list에 추가 num_list.sort(reverse=True) #list를 내림차순으로 정렬 print(str(num_list).replace(', ','').replace('[','').replace(']','')) sol2 N = input() sorted_num = sorted(N, reverse=True) resu..
파이썬 백준 2750 : 수 정렬하기
·
Algorithm/python 백준
문제 https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 풀이 N = int(input()) num_list=[int(input()) for _ in range(N)] num_list.sort() for num in num_list: print(num) N, num_list 입력 받고 sort로 정렬했다. 처음에 num_list 입력중 int를 안써서 틀렸다.. -> 정수에 유의!!!
파이썬 백준 1158 : 요세푸스 문제
·
Algorithm/python 백준
문제 https://www.acmicpc.net/problem/1158 풀이 Sol1 : 리스트 이용 N,K =map(int,input().split(' ')) people_list=[i for i in range(1,N+1)] result=[] index = 1 i=0 while len(people_list)>0: #list의 원소가 남아있을때까지 반복 if i>=len(people_list): i=0 if index%K==0 : result.append(people_list[i]) people_list.pop(i) #K번째 사람 pop else: i+=1 index += 1 print("") - list에 원소를 저장하고 원소 이동할때마다 index를 하나씩 증가함 index가 K의 배수일 경우 po..
✿(๑❛ڡ❛๑)✿
'코딩공부' 태그의 글 목록