목록PS/Python (269)
지나가던 개발자

음... 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번만에 끝낼 수 있어 시간이 획기적으로 주는 것이다. ..

팩토리얼 값을 구한 후, 팩토리얼 값을 계산한 뒤부터 0의 개수를 세서 출력하는 프로그램입니다. 예를 들어 N!이 10100이면 2를, 10000이면 4를 출력하는 식이죠. (문제 대충 읽고 그냥 count 했다가 틀렸습니다...) 팩토리얼에 관한 글은 이미 저번에 썼기 때문에 팩토리얼에 관한 내용은 넘어가고, 바로 코드를 공개하겠습니다. import math factorial = list(str(math.factorial(int(input())))) length = len(factorial) - 1 zeros = 0 while True: if factorial[length] == '0': zeros += 1 length -= 1 else: break print(zeros) math 모듈을 이용해 입력받..

PLU High School Programming Contest 중 의 9번 문제인 이다. 30살이 넘어서도 사탕을 가지고 싸우는 형제들의 이야기... for i in range(int(input())): cv = list(map(int, input().split())) print("You get " + str(cv[0]//cv[1]) + " piece(s) and your dad gets " + str(cv[0]%cv[1]) + " piece(s).") 그냥 몫과 나머지를 구하는 간단한 문제이다. 백준에 제출해 보자. 맞았다! 그건 그렇고 이제 3개월 내 공개 발행글이 20개가 되서 드디어 카카오 애드핏 신청을 할 수 있다...! 애드핏보다 애드센스가 더 좋긴 한데, 애드센스는 신청한지 2주일은 된 것..