알고리즘 공부 (207) 썸네일형 리스트형 [백준 파이썬] #11292: 키 큰 사람 https://www.acmicpc.net/problem/11292 11292번: 키 큰 사람 민우는 학창시절 승부욕이 강해서 달리기를 할 때에도 누가 가장 빠른지를 중요하게 생각하고, 시험을 볼 때에도 누가 가장 성적이 높은지를 중요하게 생각한다. 이번에 반에서 키를 측정하였 www.acmicpc.net [정답] 1. 학생의 수 N을 입력받고 만약 N==0이라면 while문을 빠져나간다. 2. 학생의 정보를 받을 student를 정의하고 for문을 돌면서 name,height값을 입력받아 student에 추가한다. 3. for문을 돌면서 student의 정보를 가져오면서 만약 ans_hei 값(=해당 height 값)이 student.values() 즉 height 값의 최대값과 같다면 ans_name.. [백준 파이썬] #10816: 숫자 카드 2 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net [오답] → 시간초과 문제를 보자마자 'count() 함수를 사용하면 되겠다' 하고 풀었는데 역시나 오답,,, 호락호락하지 않은 백준!!! ... 이 문제를 검색해보다가 bisect 라이브러리를 사용하신 블로거를 보았다. 파이썬에서 이진 탐색을 쉽게 구현할 수 있는 bisect 라이브러리는 정렬된 배열에서 특정한 원소를 찾아야 할 때 매우 효과적이다. [참고] h.. [백준 파이썬] #10867: 중복 빼고 정렬하기 https://www.acmicpc.net/problem/10867 10867번: 중복 빼고 정렬하기 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. www.acmicpc.net [풀이 생각] 1 4 2 3 1 4 2 3 1 2 → 1 2 3 4 같은 수는 한 번만 출력하기 위해서 중복을 허용하지 않는 집합의 개념을 사용한다. 리스트에 수들을 넣고 리스트를 집합 형태로 바꾸면 중복되는 숫자들은 제거된다. [정답] 1. 수의 개수 N을 입력받는다. 2. 숫자들을 입력받아 int형태로 리스트 word에 넣어준다. 3. word를 집합 형태로 바꾸고 sorted()하여 ans를 정의한다. 4. 최종적으로 a.. [백준 파이썬] #1002: 터렛 https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net [오답] ... 너무 졸려서 내일 마저 풀겠습니다! [백준 파이썬] #10814: 나이순 정렬 https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net [정답] 1. 온라인 저지 회원의 수 N 을 입력받는다. 2. 회원들의 정보를 저장할 per_list 을 정의한다. 3. N개의 for문을 돌면서 회원의 age와 name을 입력받고 age를 int형으로 바꾸어 [age,name]형태로 per_list에 추가한다. ( age를 int형으로 바꾸지 않고 제출하였더니 '틀렸습니다.'가 나왔다. ) 4. per_list를 lambda함수를 이용해 나이 순, .. [백준 파이썬] #1181: 단어 정렬 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net [정답] 1. 단어의 개수 N을 입력받는다. 단어들를 저장할 num_list를 정의한다. 2. 0~N-1동안 for문을 돌면서 word에 단어를 입력받아 만약 num_list에 word가 없다면 word를 num_list에 추가한다. 3. num_list를 lambda 함수를 사용하여 1)길이가 짧은 것, 2)길이가 같으면 사전 순 으로 정렬시킨다. 4. 최종적으로 num_list를 출.. [백준 파이썬] #11651: 좌표 정렬하기 2 https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net [정답] 1. 점의 개수 N을 입력받는다. 점의 좌표를 저장할 num_list를 정의한다. 2. 0~N-1동안 for문을 돌면서 점의 좌표를 입력받아 num_list에 추가한다. 3. num_list를 lambda 함수를 사용하여 좌표를 y좌표가 증가하는 순으로, y좌표가 같으면 x좌표가 증가하는 순서로 정렬시킨다. 4. 최종적으로 num_.. [백준 파이썬] #11650: 좌표 정렬하기 https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net [정답] 1. 점의 개수 N을 입력받는다. 점의 좌표를 저장할 num_list를 정의한다. 2. 0~N-1동안 for문을 돌면서 점의 좌표를 입력받아 num_list에 추가한다. 3. num_list를 lambda 함수를 사용하여 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬시킨다. 4. 최종적으로 num_li.. 이전 1 ··· 6 7 8 9 10 11 12 ··· 26 다음