본문 바로가기

전체 글

(263)
[백준 파이썬] #9506: 약수들의 합 https://www.acmicpc.net/problem/9506 9506번: 약수들의 합 어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라. www.acmicpc.net [문제 이해] 어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. ex) 6 = 1+2+3 →6은 완전수 / 12 ≠ 1+2+3+4+6 →12는 완전수 X [문제 접근] 해당 숫자의 약수들을 모두 리스트에 넣고 그 리스트의 sum이 입력한 숫자와 비교한다. 리스트의 sum과 숫자가 같다면 6 = 1 + 2 + 3 이런 식으로 출력하고, sum이 입력한 숫자..
[백준 파이썬] #10988: 팰린드롬인지 확인하기 https://www.acmicpc.net/problem/10988 10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net [문제 이해] 팰린드롬이란? 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어 ex) level → 팰린드롬, baekjoon, online, judge → 팰린드롬 X [문제 접근] 문자열의 첫번쨰 단어와 마지막 단어, 두번째 단어와 마지막에서 두번째 단어.. 이렇게 계속 단어들이 같은지 비교를 한다. 만약 단어가 같지 않다면 1을 출력하고, 단어가 같다면 0을 출력한다. [정답] 1. 단어를 word에 입력받는다. 단어 비교에 사용될 ans을 0으로 ..
리눅스 마스터 2급 1차 2021.02.01 리눅스 마스터 2급 1차 시험을 보았다. 1차는 온라인 시험이고 족보 보면서 구글링하면 10명 중 9명은 합격할 수 있을 정도로 쉬운 시험이라고 들었다. 그러나 나는 리눅스를 공부하는 겸 자격증을 취득하는 것이 목표라서 이기적 리눅스 마스터 2급을 공부하고 시험을 보았다. 결과는... 60점만 넘기면 합격인데 96점이 나왔다. 공부하면서 정리해놓은 pdf 파일과 인터넷에서 돌아다니는 족보를 참고하여 문제를 풀었더니 쉽게 합격을 할 수 있었다. 내가 참고한 족보이다. 인터넷에서 많이 돌아다니는 족보인데 여기서 한 60%는 찾아서 푼 것 같다. 리눅스 마스터 2급 2차는 2021.3.13에 예정되어 있고 1차와는 다르게 시험장에 가서 치르는 필기 시험이다. 방학동안 2차 시험도 열심히 공..
[백준 파이썬] #7567: 그릇 https://www.acmicpc.net/problem/7567 7567번: 그릇 그릇을 바닥에 놓았을 때 그 높이는 10cm 이다. 그런데 두 개의 그릇을 같은 방향으로 포개면 그 높이는 5cm만 증가된다. 만일 그릇이 서로 반대방향으로 쌓이면 높이는 그릇만큼, 즉 10cm 늘어난다. www.acmicpc.net [문제 접근] 그릇을 바닥에 놓았을 때 그 높이는 10cm 이다. → 그릇 하나에 10cm 즉 첫 그릇은 10cm 그런데 두 개의 그릇을 같은 방향으로 포개면 그 높이는 5cm만 증가된다. → 이전 그릇과 현재 그릇의 방향이 같다면 5cm 증가 ex) '(('= 10+5=15cm 만일 그릇이 서로 반대방향으로 쌓이면 높이는 그릇만큼, 즉 10cm 늘어난다. → 이전 그릇과 현재 그릇의 방향이..
[백준 파이썬] #10886: 0=not cute/1=cute https://www.acmicpc.net/problem/10886 10886번: 0 = not cute / 1 = cute 준희는 자기가 팀에서 귀여움을 담당하고 있다고 생각한다. 하지만 연수가 볼 때 그 의견은 뭔가 좀 잘못된 것 같았다. 그렇기에 설문조사를 하여 준희가 귀여운지 아닌지 알아보기로 했다. www.acmicpc.net [정답] 1. 설문조사를 한 사람의 수 N을 입력받는다. 2. 귀엽다고 한 사람의 수를 저장할 yes, 귀엽지 않다고 한 사람의 수를 저장할 no를 정의한다. 3. for문을 돌면서 투표결과를 vote로 입력받고 만약 vote==1이면 yes+=0, vote==0이면 no+=1을 한다. 4. 만약 yes>no이면 'Junhee is cute!'를, yes
[백준 파이썬] #10102: 개표 https://www.acmicpc.net/problem/10102 10102번: 개표 입력은 총 두 줄로 이루어져 있다. 첫째 줄에는 심사위원의 수 V (1 ≤ V ≤ 15)가 주어지고, 둘째 줄에는 각 심사위원이 누구에게 투표했는지가 주어진다. A와 B는 각각 그 참가자를 나타낸다. www.acmicpc.net [정답] 1. 심사위원의 수 V를 입력받는다. 투표결과를 입력받아 리스트 vote에 저장한다. 2. A,B가 받은 표 수를 저장하기 위해 num_A와 num_B를 정의한다. 3. for문을 돌면서 i가 A이면 num_A+=1해주고, i가 B이면 num_B+=1을 해준다. 4. 만약 num_A>num_B이면 A를, num_A
[백준 파이썬] #5635: 생일 https://www.acmicpc.net/problem/5635 5635번: 생일 어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오. www.acmicpc.net [정답] 1. 반에 있는 학생의 수 N을 입력받는다. 2. 학생들의 정보를 담을 리스트 student을 정의한다. for문을 돌면서 학생들의 정보를 받아 student에 추가한다. 3. student를 나이가 작은 순으로 정렬한다. student.sort(reverse=True,key=lambda x:(int(x[3]), int(x[2]), int(x[1]))) → x[3]: 연도, x[2]: 월, x[1]: 일 기준으로 정렬을 하면 나이의 내림차순이므로 reverse=Tru..
[백준 파이썬] #18258: 큐2 https://www.acmicpc.net/problem/18258 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net [오답] → 시간초과 다른 문제에서 collections 패키지의 deque 모듈을 사용했을 때 시간이 단축된다는 것을 발견하고 이 문제를 다시 풀어보았다. [정답] 먼저 queue에 대한 함수들을 정의한다. 1. 'push X: 정수 X를 큐에 넣는 연산이다.' → push(X): append() 함수를 사용하여 큐 q_queue에 인자값 X를 push한다. 2. 'po..