본문 바로가기

분류 전체보기

(263)
[백준 파이썬] #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..
[백준 파이썬] #1037: 약수 https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net [문제 이해] 양수 A가 N의 진짜 약수가 되려면, N이 A의 배수이고 A가 1과 N이 아니어야 한다. ex) N=8 → A=2,4 / N=32 → A=2,4,8,16 [풀이 생각] ex) N=8 → A=2,4 / N=32 → A=2,4,8,16 즉 진짜 약수 중 제일 작은 값과 제일 큰 값을 곱하면 N이 된다. [정답] 1. 진짜 약수의 개수 N을 입력받는다. 2. N의 진짜 약수를 입력..
[백준 파이썬] #9012: 괄호 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net [문제 이해] 괄호 문자열(Parenthesis String, PS): 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열 올바른 괄호 문자열(Valid PS, VPS) : 괄호의 모양이 바르게 구성된 문자열 ex) “(())()”, “((()))” → VPS O / “(()(”, “(())()))” , “(()” → VPS X [풀이 생각] 스택을 ..
[백준 파이썬] #10773: 제로 https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net [정답] 1. 입력할 정수의 개수 K를 입력받는다. 2. 스택 num_stack을 초기화한다. 3. 0~K-1동안 for문을 돌면서 num을 입력받아 만약 num==0 이라면 num_stack에서 가장 최근에 넣은 수를 pop한다. 그 외의 경우라면 num_stack에 num을 넣는다. 4. 최종적으로 num_stack에 들어있는 숫자들의 합을 출력한다.