목록분류 전체보기 (317)
지나가던 개발자

음... ab = list(map(int, input().split())) print(ab[0]/ab[1]) 코드 설명이 딱히 필요없는 간단한 문제입니다. 와!

진짜 코드를 딱 문제에서 제시한 대로만 짜면 된다. dice = list(map(int, input().split())) if len(set(dice)) == 1: print(10000 + dice[0] * 1000) elif len(set(dice)) == 2: for i in range(3): cnt = dice.count(dice[i]) if cnt == 2: print(1000 + dice[i] * 100) break else: print(max(dice) * 100) 딱 문제에서 제시한 대로 짰다. 여기서 set 자료형은 동일한 요소를 자동으로 삭제하기 때문에 이런 문제를 풀거나 할때 요긴하게 사용할 수 있다. 백준에 제출해 보자. 맞았다!

흔한 중학수학 문제이다. 좌표평면 위의 점 (x, y)에서 x > 0, y > 0이면 제1사분면, x 0이면 제2사분면, x 0, y 0 and y > 0: print(1) elif x 0: print(2) elif x 0 and y < 0: print(4) 조건문 연습(..?). 백준에 제출해 보았다. 와! 근데 문제 난이도에 걸맞지 않게 solved.ac에서 AC RATING을 3점이나 준다. 1점정도 줄 줄 알았는데.

허허... 백준을 둘러보다가 이런 문제가 있길래 한번 풀어봤다. ab = list(map(int, input().split())) print(ab[0]*ab[1]) 코드 해설은 딱히 필요없을 것 같아서 생략하겠다. 맞았다..!

다솜이라는 사람이 국회의원 선거에 나가기 위해서 유권자들을 매수하는데, 얼마나 매수해야 당선될 수 있을까를 묻는 문제이다. 나는 저번에 학생회장/부회장 선거에 나갔었는데, 떨어졌었다. 나도 이 프로그램이 있어 학생들을 매수했다면 이길 수 있었을까(?). (농담이져 농담 ㅋㅋ) 암튼 그래서 코드를 짜봤다. candidates = [] for i in range(int(input())): candidates.append(int(input())) person = 0 while True: is_True = True for i in range(1, len(candidates)): if candidates[i] >= candidates[0]: is_True = False break if is_True: print(..

이 문제를 보고 나는 정말 쉽다 생각해 신나서 코드를 짰다. abc = list(map(int, input().split())) print((abc[0]**abc[1])%abc[2]) 하지만 그러고 제출해 보니... ...? 시간 초과...? 알아보았더니 이 문제는 Divide and Conquer(DAC), 즉 분할 정복의 원리를 사용해야 풀리는 문제였다. 예를 들어, 2^32라면 2를 32번 곱하는 방법도 있지만, (2^16)^2로 해서 풀면 2를 16번 곱한 것을 다시 2번 곱하니 17번의 연산만으로 끝낼 수 있어 시간이 훨씬 적게 든다. 이를 계속 해보면 {(2^8)^2}^2 이렇게 풀면 10번만에, [{(2^4)^2}^2]^2 이렇게 풀면 7번만에 끝낼 수 있어 시간이 획기적으로 주는 것이다. ..

올해가 이제 2시간도 채 남지 않았다. 나는 올해 무엇을 했을까. 그래도 블로그도 하고, 아주 의미없는 한 해는 아니었던 것 같다. 오미쿠지는 일본 문화의 한 가지이다. 신토 문화의 하나로 신사나 절에서 운세가 써진 제비뽑기를 하여 길흉(吉凶)을 점친다. 굳이 번역한다면 '운세제비'라고 할 수 있다. 한국의 산통과 비슷한 개념이다. 나무위키에서 인용했다. 내가 일본인은 아니지만, 그래도 일본어와 일본 문화를 배우고 있는 입장에서 신년에 오미쿠지 한 번 정도는 해 주는게 좋을 것 같다는 생각이 들었다. 그런데 생각해 보니 문제가 있었다. 한국에는 신사가 없다는 것이다. 절에 가서 "오미쿠지 할 수 있나요?" 라고 물어보기도 좀 그렇고. 그래서 그냥 내가 만들기로 했다. 오미쿠지가 뭐 별건가. 그냥 랜덤으로..
살다 보면, 가끔 리스트에서 특정 요소의 개수를 구하는 것이 필요할 때도 있고 하다. examples = [1, 1, 0, 0, 1, 0, 1] zeros = 0 for example in examples: if example == 0: zeros += 1 이렇게 코드를 작성하면 3이라고 제대로 된 출력결과가 나온다. examples 리스트 안의 모든 요소를 검색해서 특정 요소가 맞는지 아닌지 검사하는 코드이다. 그렇지만 늘 그렇듯 파이썬의 내장함수는 매우 뛰어나다. 당연히 리스트 안의 특정 요소를 세는 함수도 있을 것이다. examples = [1, 1, 0, 0, 1, 0, 1] zeros = examples.count(0) 이렇게 {리스트명.count(특정 요소)}를 사용하면 매우 쉽게 리스트 내 ..