본문 바로가기

분류 전체보기28

백준 - 2992. 크면서작은수 파이썬 2992번: 크면서 작은 수 정수 X가 주어졌을 때, X와 구성이 같으면서 X보다 큰 수 중 가장 작은 수를 출력한다. 수의 구성이 같다는 말은, 수를 이루고 있는 각 자리수가 같다는 뜻이다. 예를 들어, 123과 321은 수의 구성이 www.acmicpc.net 1. SOLUTION X와 구성이 같은 숫자들을 구하기 위해 itertools 라이브러리를 사용해 풀었다. 근데 풀고나서 문제 카테고리를 보니 백트래킹이어서 띠용스러웠다. 백트래킹으로 안풀어봐서 모르겠지만 훨씬 오래걸릴것 같은 느낌...? 시간 나면 백트래킹으로 한번 풀어보면 좋을 것 같다. permutations로 구한 숫자들 중 X보다 큰 것들만 새로운 리스트(nums)에 넣어주고, 리스트가 비어있지 않을 경우에는 0번째 인덱스를, 비어있을..
백준 - 2851. 슈퍼마리오 파이썬 2851번: 슈퍼 마리오 첫째 줄에 마리오가 받는 점수를 출력한다. 만약 100에 가까운 수가 2개라면 (예: 98, 102) 마리오는 큰 값을 선택한다. www.acmicpc.net 1. SOLUTION 기본 구현 문제! 입력이 여러 줄에 걸쳐 들어오기 때문에 list comprehension을 사용해 버섯의 점수를 리스트로 만들어 주었다. 버섯을 먹으며 해당하는 점수를 최종 점수(score)에 더해주다가, 최종점수가 100을 넘어서면 버섯을 먹기 전 점수 / 버섯을 먹은 후 점수를 비교해 100에 더 가까운 숫자를 구하면 된다. 2. CODE import sys lst = [int(sys.stdin.readline().strip()) for _ in range(10)] score = 0 for i i..
백준 - 10828. 스택 파이썬 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 1. SOLUTION 스택 구현 기본 문제! 스택 모듈이 따로 존재하지 않으므로 리스트를 활용해 스택을 구현하면 된다. sys.stdin.readline() 이거 모를 때 풀었던 문제라 input() 사용하다가 시간초과 났었음.. 이 문제 풀고부터는 시간 초과 날 것 같다? 바로 sys부터 쓰고 보게 됐다. 여러모로 알고리즘 초보였던 나에게 많은 도움이 되었던 문제였다. 2. CODE import sys N = int(sys.stdin.readl..
파이썬 - 논리 연산자의 단축평가와 Falsy 값 1. 논리연산자의 단축평가 논리연산 시 결과가 확실한 경우 두번째 값은 확인하지 않고 첫번째 값을 반환한다. and 연산에서 첫번째 값이 False인 경우 무조건 False → 첫번째 값 반환 or 연산에서 첫번째 값이 True인 경우 무조건 True → 첫번째 값 반환 and 연산의 경우 print(3 and 5) #5 print(3 and 0) #0 print(0 and 3) #0 print(0 and 0) #0 앞의 값이 True인 경우 뒤의 값을 확인한 후 그 값을 출력하게 된다. (첫번째, 두번째 예시) 앞의 값이 0(False)인 경우 뒤의 값을 확인할 필요 없이 0이 출력된다. (세번째, 네번째 예시) or 연산의 경우 print(5 or 3) #5 print(3 or 0) #3 print(..
파이썬 - 자료형(Data type) 정리 프로그래밍에서는 다양한 종류의 데이터를 사용할 수 있고, 이 데이터의 종류들을 자료형(Datatype)이라고 함 자료형의 종류로는 숫자형(int/float), 문자열, 불린형(boolean), None, 컨테이너(리스트, 튜플, 집합, 딕셔너리) 등이 있다. 파이썬에서는 변수를 선언할 때 자동적으로 데이터 타입이 구분된다. 1. 숫자형 (Numeric Type) 정수 자료형(int), 실수 자료형(float), 복소수 자료형(complex)으로 나누어진다. 자료형 설명 예시 정수자료형 (int) 양의정수/음의정수/0과 같은 정수, 사칙연산, 진수표현가능 10, -200, 0, 0o65(8진수), 0x1FF(16진수) 실수자료형 (float) 유리수와 무리수를 포함하는 실수 (소수점 포함된 숫자) 0.1,..
파이썬 - 연산자의 종류 1. 산술연산자 (Arithmetic Operators) 기본적인 사칙연산 및 수식 계산에 사용되는 연산자 연산자 설명 + 덧셈 - 뺄셈 * 곱셈 ** 거듭제곱 / 나눗셈 // 나눗셈의 몫 (나누기 연산 후 소수점 이하의 수를 버린 정수 부분만 구함) % 나눗셈의 나머지 2. 비교연산자(Comparison Operators) 연산자의 좌우 변수를 비교하는 연산자. 반환값은 참/거짓 형태 연산자 설명 == 값이 동일하면 true != 값이 동일하지 않으면 true > 왼쪽 값이 오른쪽 값보다 크면 true = 왼쪽 값이 오른쪽 값보다 크거나 같으면 true