본문 바로가기

알고리즘3

python 출력의 대한 고찰 ipynb 파일로 코딩테스트 준비하던 중 이상한 사례를 목격한다. 1) a = [123,123] print(a) print(a.pop()) >>>[123,123] >>>[123] 2) a = [123,123] print(a) a.pop() >>>[123,123] 위 처럼 1,2는 차이가 있다. 바로 print을 쓰게 되면 나머지 함수는 작동하지만, 출력되지 않는다. pop함수는 원래 defalut로 리스트의 마지막 원소를 제거하고, 그 원소를 반환한다. 하지만, print문과 함께 이를 동작시키면 원소는 반환되지는 않는다. 다른 예시로 1) a = [123,123] b = [321,321] print(a) b >>>[123,123] >>>[321,321] 2) a = [123,123] b = [321,3.. 2022. 3. 31.
[백준] 1541번 잃어버린 괄호(python) https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 기본적인 개념 이해가 얼마나 중요한지느끼게 해주는 문제였다. 또한, 가장 처음과 마지막 문자는 숫자이다 라는 조건이 있었지만 이를 못보고 지나쳐 엄청난 시간을 소요하게 되었다.... #백준 1541번 문제 math=input() i=0 while True: if math[i]=="-": break else: i+=1 if i==len(math): break result=0 if i==len(.. 2022. 2. 2.
백준 알고리즘 input() 세팅 백준에서 제공하는 알고리즘 테스트의 입력은 프로그래머스와는 다른 점이 있다. 바로 입력 값을 input()함수를 이용하여 직접 적용해야된다는 점이다. 이와 같은 방법으로 입력을 받기 때문에 겪었던 문제점들을 좀 정리해보려고한다. #1 입력 값이 하나일 때 import sys N = sys.stdin.readline() #2 입력 값이 두개 이상일 때 import sys N,K = map(int, sys.stdin.readline().split()) sys.stdin.readlne()을 쓰는 이유는 input()을 쓸 경우 생기는 시간초과 문제를 해결할 수 있다. input()은 개행문자를 지우는 기능까지 포함하는 함수 sys.stdin.readline()은 개행문자를 포함하는 함수이다. 백준에서 대부분에.. 2022. 1. 18.