Python (12) 썸네일형 리스트형 BOJ 27866 문자와 문자열 단순하게 풀어보리기 문제는 간단하다스트링이 주어지고, 이 스트링에 대한 인덱스가 주어지고 이것을 출력하라이다. 그런데 문제가 있다.1번째를 출력하라는 것이 list[i]의 값이 1부터 시작하는 것이 아니라 0부터 시작한다는 점이다.단순히 1이 입력되면 0을 빼면되는건데난 굳이 이상한 값으로 0을 채워주어서 인덱스를 맞추었다 ㄹㅇㅋㅋ inputs = input() n =int(input()) res = []res.append('c')for char in inputs: res.append(char)print(res[n])char = input()i = int(input())print(char[i-1]) https://www.acmicpc.net/problem/27866 [python] 이진 탐색과 취약점 + 백준 18870 위와 같이 이진 탐색은 분할 정복 전략의 대표적인 사례이다. # src = https://www.acmicpc.net/status?user_id=kodingko&problem_id=18870&from_mine=1import sysinput = sys.stdin.readlinedef make_uniq(arg): #if !(coords): 이게 되나 싶은게 되고 이게 안되나 싶네 if not arg: return [] # sort list # 소팅해서 작은 부터 하나씩 비교해서 이전 값과 일치하면 유니크하지 않음을 판단함. arg.sort() uni_inputs = [] uni_inputs.append(arg[0]) for i in range(1,.. [Python] 2587 평균과 중앙값 리스트 사용법 위 문제는 5개의 입력이 주어지고 평균과 중앙값을 구하는간단한문제이다.파이썬에 대한 문법과 동작원리를 책을 하나 하나 보는 것 보다 이러한 기초 문제를 풀면서 겪는 것이 더 좋은 것 같아서 조금씩 풀어본다.처음 문제를 읽고 막연히 아래와 같이 문제를 풀었다. # src = https://www.acmicpc.net/problem/2587import sysinput = sys.stdin.readline#inputs = list(map(int, input().split())) inputs = []for i in range(5): inputs[i] = int(input()) avg = (sum(inputs)//len(inputs))temp = inputs.sort()print(avg)prin.. [Python] 백준 2562 최댓값 리스트 (인덱스는 0부터)/포매팅 위 문제에서 요구하는 것은 최대값과 최대값의 인덱스이다.나의 접근은 간단하다.파이썬에서 제공하는 max를 통해 최대값을 찾고 리스트를 순회하여 몇번째인지 카운트하는 것이다.순회하는 인덱스에 대해서파이썬은 문법적으로 후위연산자(i ++)사용이 안된다는 것이 놀라웠고i + 1 로 작성하였다. 그럼에도 불구하고 내가 원하는 답이 나오지 않았다.원인을 살펴보니 0 ~ n 까지 리스트의 인덱스가 구성되어 있었다.0부터 시작하여 입력값 n보다 -1을 해야 적확한 index 값이 출력되었다.이런 사소한 것들을 아직 잘 모른다 빨리 파이썬에 익숙해져야겠다. import sysinput = sys.stdin.readlineinputs = [int(input()) for _ in range(9)]def isMax(arg).. [Python] 백준 2576 홀수찾기 - 전역변수 접근하기 위 문제에서는 7개의 자연수가 주어질 때,리스트에 홀수가 있나 없나를 체크없으면 print-1있으면 홀수의 합과 홀수 중 가장 작은 것을 출력하라는 문제이다.나는 이 문제를 전역변수를 이용하여 풀었다입력 값을 리스트로 받고,prefix_sum 함수에서 입력받은 리스트 중 홀수값을 전역변수인 mins에 저장, prefix_sum은 sum_s에 저장한다.입력값 개수 만큼의 반복되고나면nums에 입력값이 있어도 mins에 값이 있을 수도 있고 없을 수도 있다.nums에 저장되어있는 홀수 값의 개수만큼 저장되어있을 것이고 만약 0개라면 값이 비어있으므로 if문이 거짓이 된다.거짓이 될 경우 else문이 동작하게 되고,print(-1)을 실행하게 된다.# src = https://www.acmicpc.net/pr.. [BJ] 백준 2753 윤년 윤년 찾기 == 4의배수이며, 100의 배수가 아니며 400의 배수를 찾아라 조건문에 bool을 굳이 사용하지 않고var %4 == 0를 사용하여 bool로 return 하도록 유도하면 되는데 오랜만에 하는 코딩테스트 준비라서 그런지그냥... 0이면 Flase를 리턴하는 것을 이용하여 not을 별도로 선언하여 오히려 가독성이 떨어지도록 코드를 작성하였다. import sysinput = sys.stdin.readline#Flase print(bool(8%4)) 0 #True print(bool(9%4)) !0var = int(input())if(not(bool(var%4)) and (var%100) or not(bool((var%400)))): print(1)else: print(0)http.. input() vs input = sys.stdin.readline 백준을 풀다보면 가끔 정답에 가까운 코드인 것 같은데 왜 시간초과가 발생할까 하는 의문이 들때가 있다.이러한 경우 input의 오버헤드로 인해 발생하는 문제일 수 있다. 이런경우 아래와 같은 코드를 통해 해결한다. 오버헤드를 줄일 수 있기 때문이다.sys.stdin.readline()임의로 오버헤드를 측정하였을 때, 대략 5배의 오버헤드가 발생함을 알 수 있다.오버헤드 측정방법 : 파일 쓰기 후 타임체크( 물론 정확한 방법은 아니고 함수 스택을 확인하거나 시스템 콜을 추적하는 것이 방법이겠지만,,,,, 그렇게까지...?코드참조) 줄 수input() 시간sys.stdin.readline() 시간차이 비율100000.0040.00084.791000000.02770.00466.0210000000.241.. [Python] input 사용법 var = input()var_int = int(input())var1, var2 = map(int, input().split())input 함수는 " 1, 2 3 4 45 6 6 7 7 777 8 8 8 8"입력값을 하나의 스트링으로 처리한다❯ python3 input.pyType : Hello World Hello WorldType : intger World 123Type : intger World 123 Hello World124Traceback (most recent call last): File "/Users/ywlee/cotest/cotest/basic/input.py", line 7, in print(int2 +1) ~~~~~^~TypeError: can only c.. Container에서 VSC정의로 이동하기 VS Code에서 Python 개발을 하다 보면 import sys 같은 내장 모듈에 대해 Ctrl+클릭(F12)을 자주 사용하게 된다.하지만 Dev Container 환경에서는 이 기능이 갑자기 작동하지 않았다.개발환경 macOS + Dockerpython:latest 이미지를 기반으로 Dev Container 생성local 폴더를 container의 /workspace로 마운트하여 개발 로컬 VSC에서는 sys 위에 커서를 올리고 F12 또는 Cmd+Click 하면 정의로 이동 가능한데,Dev Container 안에서는 아무 반응도 없고, 동작하지 않는 문제 원인 분석: sys는 내장(builtin) 모듈이다Python의 sys 모듈은 C 언어로 구현된 내장 모듈따라서 일반적인 Python .py 파.. [python] map(int, input().split()) 을 이용한 입력값 받기 파이썬에서 변수에 입력값을 받아 초기화 및 나눗셈을 하라하면,var = input()var1 = input()print(var/var1)위와 같은 코드를 떠올린다.파이썬은 타입 추론을 알아서 할 줄알았는데 Python은 입력값을 문자열로만 받는 동적 타입 언어라서 input()함수는 리턴으로 string을 리턴하는 것을 알게되었다.var = int(input())var1 = int(input())명시적인 타입캐스팅을 하여 위와 같이 코드를 짤 수 있지만, 조금 더 검색하면 파이썬 스러운 답변이 있을 것 같았다.var, var2 = map(int, input().split())위와 같은 코드가 있었다.처음에 보고는 어떻게 동작하는지 이해가지 않았다.요약하면 아래와 같이 동작한다고 하지만 직관적으로 와닿지.. 이전 1 2 다음