본문 바로가기

파이썬 독학

(파이썬) 백준 10988 : 팰린드롬인지 확인하기 문제 알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 이 단어가 팰린드롬인지 아닌지 확인하는 프로그램을 작성하시오. 팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말한다. level, noon은 팰린드롬이고, baekjoon, online, judge는 팰린드롬이 아니다. 입력 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. 출력 첫째 줄에 팰린드롬이면 1, 아니면 0을 출력한다. 예제 입력 1 level 예제 출력 1 1 예제 입력 2 baekjoon 예제 출력 2 0 코드 요번 팰린드롬 문제는 만약에 다른 c언어나 자바로 한다면 매우 까다로운 문제지만 파이썬으로 하면 코드가 정말 간단하답니다. 저는 일단 입.. 더보기
(파이썬) 백준 2476 : 주사위 게임 - 컴도리돌이 문제 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)*1,000원의 상금을 받게 된다. 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)*100원의 상금을 받게 된다. 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)*100원의 상금을 받게 된다. 예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3*100으로 계산되어 1,300원을 받게 된다. 또 3개의 눈이 2, 2, 2로 주어지면 10,000+2*1,000 으로 계산되어 12,000원을 받게 된다. 3개의 눈이 6, 2, 5로 주어지면 그 중 가장 큰 값이 6이므로 6*100으로 계산되어 600원을 상금으로 받.. 더보기
(파이썬) 백준 8958 : OX퀴즈 - 컴도리돌이 문제 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다. 문자열은 O와 X만으로 이루어져 있다. 출력 각 테스트 케이스마다 점수를 출력한다. 예제 입력 5 OOXXOXXOOO OOXXOOXXOO OXOXOXOXOXOXOX OOOOO.. 더보기
(파이썬) 백준 2884번 : 알람 시계 - 컴도리돌이 문제 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다. 이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다. 바로 "45분 일찍 알람 맞추기"이다. 이 방법은 단순하다. 원래 맞춰져있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다. 이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다. 현재 상근이가 맞춰논 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면, 이를 언제로 고쳐.. 더보기
(파이썬) 백준 1789 : 수들의 합 - 컴도리돌이 이번 문제는 생각보다 까다로운 문제였다. 일단 문제를 문제를 풀기 전에 문제를 이해하는 데에 오래 걸렸다. 일단 문제를 이해해보면 첫째 줄에서는 예제 입력을 200으로 했다. 그러면 주어진 범위(1≤S≤4,294,967,295)에서 N개의 자연수의 합으로 S를 만들어야 한다. 그러면 경우의 수가 1 + 199 1 + 2 + 197 ... 문제의 풀이는 가장 많은 수를 사용해야 하기 때문에 for문을 사용하여 S 값을 비교하면서 하였다. 여기서 문제는 값이 S보다 커질 때였다. 만약에서 S보다 커질 경우에는 자연수의 합에서 중간의 값만 빼면 되기 때문에 for 문을 돌렸을 때 N의 최댓값에서 하나만 빼주면 된다. 예를 들면 53을 입력값을 넣을 경우 for문으로 1부터 합을 구하면 53이라는 수로 딱 안 .. 더보기
(파이썬) 백준 2935번 : 소음 - 컴도리돌이 문제 수업 시간에 떠드는 두 학생이 있다. 두 학생은 수업에 집중하는 대신에 글로벌 경제 위기에 대해서 토론하고 있었다. 토론이 점점 과열되면서 두 학생은 목소리를 높였고, 결국 선생님은 크게 분노하였다. 이렇게 학생들이 수업 시간에 떠드는 문제는 어떻게 해결해야 할까? 얼마 전에 초등학교 선생님으로 취직한 상근이는 이 문제를 수학 문제로 해결한다. 학생들을 진정시키기 위해 칠판에 수학 문제를 써주고, 아이들에게 조용히 이 문제를 풀게 한다. 학생들이 문제를 금방 풀고 다시 떠드는 것을 방지하기 위해서, 숫자를 매우 크게 한다. 아직 초등학교이기 때문에, 학생들은 덧셈과 곱셈만 배웠다. 또, 아직 10의 제곱 꼴을 제외한 다른 수는 학교에서 배우지 않았기 때문에, 선생님이 써주는 수는 모두 10의 제곱 .. 더보기
(파이썬) 백준 2525번 : 오븐 시계 - 컴도리돌이 문제 오븐 시계는 첫 번째 줄에서는 현재 시각 시, 분을 입력받고 두 번째 줄에서는 오븐 할 때 소유 시간, 분 단위로 입력한다. 최종적인 출력 값은 현재시각에 걸린 시간을 더해서 완성되는 시간을 출력하는 것이다. 문제를 푸는데 주의해야 하는 사항은 전에 있는 포스팅에서 말한 듯이 입력받은 값은 int형으로 고쳐줘야 하고 걸린 시간과 현재 시간을 더했을 때, 시 단위와 분 단위가 바뀌는 것도 생각을 해야 한다. 다음 포스팅에서 만나요! 더보기