알고리즘(3)
-
백준 코딩 테스트 1181 - 파이썬 프로그래밍
파이썬의 간결함을 느끼게 해준 첫 문제 사실 지금까지는 파이썬이 간결하다 하는데 남 얘기를 들은 느낌이었는데 이번 문제를 풀면서 체감을 한 것 같다. 사실 더 줄일 수 있는 부분이 있을 것 같은데 나는 C계열을 많이 써와서 그런지 쓸데없는 축약은 피하고싶다. 1181번 문제는 지문을 읽으면 3가지를 클리어해야한다고 생각했다. 1. 중복제거 2. 1번째 정렬조건 3. 2번째 정렬조건 1번은 귀찮게 중복처리할 필요없이 딕셔너리이나 set을 사용하면 쉽게 처리가능하다 여기서는 두개의 값이 있기 때문에 딕셔너리로 처리하였다. 2, 3번은 한번에 처리해주어야 한다 라이브러리를 쓰지 못하는 상황의 C++같았으면 끔찍하게 긴 코드가 되었겠지만 당연 파이썬에서는 여러 조건을 통한 정렬이 존재한다. 강력한 sorted(..
2020.12.09 -
파이썬 팁 for 코딩 테스트 -1
문장속에 들어간 단어의 빈도수를 체크해야할 경우 또는 빈도수 체크 전반 정규표현식으로 필터링 정규표현식은 매우 간결하게 표현가능하고 성능이 뛰어남 문자열 처리에서 굉장히 좋은 성능을 발휘 표현방식이 간결하나 처음 보는경우 난해하기 때문에 익숙할때까지 연습 딕셔너리 defaultdict(int) 위 딕셔너리에 위 처리를 해놓을 경우 새로운 요소가 입력되었을 시 0으로 초기화 count[word] += 1 같은 표현으로 전부 처리 가능
2020.12.06 -
백준 코딩 테스트 2438 - 파이썬 프로그래밍
백준 2438번 문제 풀이 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제입니다 예를들어 n = 5면 * ** *** **** ***** 이 되겠네요. 파이썬 코드 a = int(input()) for i in range(1, a+1): print('*'*i) c++같은 경우 2중 for문을 사용해야 했겠지만 파이썬에서는 간단하게 표현 가능합니다. 주의점 input을 int로 변환시키는점 range의 범위 주의
2020.12.04