PYTHON

· PYTHON
쪼개기의 split, 합치기의 join split()은 입력 받은 것을 쪼개준다. 기본값은 공백문자이다. 백준 문제 풀다보면 흔히 볼 수 있는 친구다. a, b = input().split() 만약 입력창에 응 애를 치면 a에 응, b에 애가 할당이 된다. join은 split과 반대로 합쳐주는 역할을 한다. a = int(input()) l = [input() for _ in range(a)] k = list(l[0]) for i in range(1, len(l)): for j in range(len(k)): if l[i][j] != k[j]: k[j] = "?" print("".join(k)) 파이썬의 문자열은 인덱스를 통해 접근하는 방법으로는 수정이 불가해서 리스트로 변경해 수정해야한다. 이때 리스..
· PYTHON
함수의 매개변수 매개변수에는 여러 값을 넣을 수 있지만 그 값이 정해져 있지 않은 경우에 * 를 이용하면 여러 개를 넣어줄 수 있다. 그렇게 쉽게 문제를 푸나 했지만 importError가 나왔다. 문제를 읽어보니 def solve(a) a 자리에 리스트가 들어간다고 한다. 리스트를 넣을 수 있는 것도 오늘 처음 알았다. 신기한걸... 어쨌든 a 앞에 넣었던 *를 제거하니 문제는 해결됐다. importError가 난 코드 def nSum(*a): return sum(a) 통과한 코드 def solve(a): return sum(a)
· PYTHON
not in 백준 문제를 풀다가 브5 문제라서 쉽게 풀 수 있겠다고 생각하고 10초컷 하려고 했지만 not in이 생각나지 않아서 for문을 돌렸다. 하지만 not in을 쓰면 매우 간단하게 풀 수 있었던 문제였다. 그거 기억해놓으려고 블로그에 글 쓰는 중 not in은 리스트나 튜플, 문자열 등에 찾고자 하는 값이 들어있지 않니라고 물어보는 것과 같은 문법이다. 불리언값을 반환하는데, 해당하는 값이 그 배열에 들어있지 않다면 true, 들어있다면 false를 반환한다. 아래는 not in을 사용한 백준 5597번 문제 풀이이다. l = [i for i in range(1, 31)] m = [int(input()) for _ in range(len(l)-2)] for j in range(len(l)): ..
· PYTHON
int() 숫자형 혹은 문자열을 정수형으로 변환해주는 함수이다. 두번째 인자로 n번째 진수로 변환하는 것을 요청할 수 있다. 이때, 만약 1번째 인자에 정수형을 넣어주면 TypeError: int() can't convert non-string with explicit base 가 등장한다. (이 에러가 사실 블로그 글 쓴 이유) a = int(input(), 8) print(bin(a)) # input()은 문자열이므로 에러없이 실행됨 a = int(314, 8) print(bin(a)) # 에러 발생
· PYTHON
파이썬 예외처리 try, except를 이용하면 예외처리를 할 수 있다. try: 실행할 코드 except: 예외가 발생했을 때 처리하는 코드 특정한 에러코드에 대해 예외처리 또한 할 수 있다. try: 실행할 코드 except 예외이름: 예외가 발생했을 때 처리하는 코드 아래는 예시이다. x와 y의 값을 입력해 더하는데, 아무것도 입력을 하지 않을 경우 에러가 난다. 하지만 except를 이용해서 break를 주었기 떄문에 별 에러 없이 while문을 빠져나갈 수 있다. 이 문제 출처는 백준 10951번이다. while True: try: x, y = map(int, input().split()) print(x+y) except: break https://www.acmicpc.net/problem/10..
· PYTHON
파이썬의 print 옵션에는 sep과 end가 있다. sep은 출력하는 것들 사이에 원하는 값을 넣어 구분해줄 수 있고, end는 출력물을 이어지게 만들어줄 수 있다. sep: 출력하는 것을 구분시켜줄 수 있다. sep을 넣지 않았을 때 기본 값은 띄어쓰기이다. print('응애', '나', '아가', '버니스') # 응애 나 아가 버니스 print('응애', '나', '아가', '버니스', sep='-') # 응애-나-아가-버니스 end : 출력물을 이어지게 만들어줄 수 있다. end를 넣지 않았을 때 기본값은 \n (개행문자)이다. c = ord(input()) s = ord('a') while True: print(chr(s), end=' ') s = s + 1 if (c+1 == s): break..
· PYTHON
자바스크립트에서의 삼항연산자와 파이썬에서의 삼항연산자가 다른 걸 오늘 알았다... 자바스크립트에서의 삼항연산자 condition ? true_value : false_value 파이썬에서는 이를 지원하지 않는다고 한다. 파이썬에서의 삼항연산자 true_value if condition else false_value 조금 더 잘 알아볼 수 있는 거 같기도 하고 잘 모르겠다.