⚙️ Problem Solving/Python

파이썬에서 이차원 리스트를 출력할 때, 각 행을 보기 좋게 출력하는 다양한 방법이 있다.이번 포스팅에서는 대표적인 5가지 방법을 정리해보려고 한다.   1. join과 map을 이용한 방법가장 많이 사용되는 방법 중 하나는 join과 map을 이용해 각 행을 문자열로 변환한 후 출력하는 것이다.for row in distances: print(' '.join(map(str, row)))map 함수는 리스트의 각 요소에 str 함수를 적용해 문자열로 변환하고, join 메서드는 이를 공백으로 구분하여 하나의 문자열로 합친다.  2. 언패킹 연산자 *를 이용한 방법파이썬의 print 함수는 여러 인수를 받을 때 기본적으로 공백으로 구분하여 출력한다. 이를 이용하면 보다 직관적으로 코드를 작성할 수 있다..
1. 정수 자릿수 맞추기정수의 자릿수를 맞추는 가장 일반적인 방법은 zfill 메서드, 포맷 문자열, 그리고 rjust 메서드를 사용하는 것이다. zfill 메서드zfill 메서드는 문자열의 왼쪽에 0을 추가하여 지정된 길이로 맞춘다.number = 42formatted_number = str(number).zfill(4)print(formatted_number) # 출력: 0042 포맷 문자열포맷 문자열을 사용하면 더 유연하게 숫자를 포맷할 수 있다. 예를 들어, 정수를 네 자리로 맞추려면 다음과 같이 한다.number = 42formatted_number = f"{number:04}"print(formatted_number) # 출력: 0042 rjust 메서드rjust 메서드는 문자열의 왼쪽에 ..
Python에서 리스트를 정렬하는 데 사용되는 두 가지 주요 방법은 sort() 메서드와 sorted() 함수이다. 1. sort() 메서드sort()는 리스트 자체를 정렬한다. 즉, 호출된 리스트를 직접 수정하고 아무것도 반환하지 않는다. (반환 값 None)이 메서드는 리스트에만 적용되며, 다른 반복 가능한(iterable) 데이터 유형에는 사용할 수 없다. 2. sorted() 함수sorted()는 어떤 반복 가능한 객체도 입력으로 받아 정렬된 새 리스트를 반환한다. 이는 리스트뿐만 아니라 문자열, 튜플, 딕셔너리의 키 등 다양한 데이터 유형에 사용될 수 있다.원래 데이터는 수정되지 않고, 정렬된 새로운 리스트가 결과로 반환된다. 성능 차이속도 측면:  sort()와 sorted()는 내부적으로 동..
첫 번째 원소는 내림차순으로, 두 번째 원소는 오름차순으로, 세 번째 원소는 내림차순으로 정렬하는 예제 # 2차원 리스트 생성 two_dim_list = [ [3, 6, 9], [2, 5, 8], [3, 6, 7], [1, 4, 7], [2, 5, 10] ] # 우선순위에 따라 정렬하는 함수 정의 sorted_list = sorted(two_dim_list, key=lambda x: (-x[0], x[1], -x[2])) # 결과 출력 for item in sorted_list: print(item) 관련 문제 ) 백준 10825. 국영수 n = int(input()) students = [] for _ in range(n): name, kor, eng, math = input().split() stud..
퀴즈다음 코드들을 사용하는 상황을 구분해보자.a = [list(map(int, input())) for _ in range(n)]a = [list(map(int, input().split())) for _ in range(n)]std_list = [input().split() for _ in range(n)]for _ in range(n): name, kor, eng, math = input().split() students.append((name, int(kor), int(eng), int(math)))a, *b = map(int, input().split())  정답a = [list(map(int, input())) for _ in range(n)]-> 정수로 변환해야되고, 입력 값 띄어..
table = copy ? table = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]] copy = table 위 코드는 어떻게 동작하게 될까? `copy = table`라는 코드는 실제로 2차원 배열 `table`의 참조를 `copy`라는 변수에 할당하는 것이다. 새로운 2차원 배열을 생성하는 것이 아니라, `table`과 `copy`가 같은 메모리 주소를 참조하게 된다. 즉, 하나의 리스트를 두 개의 이름으로 가리키는 것이다. 이는 파이썬에서 객체의 참조를 다룰 때 일반적인 동작 방식이다. table = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]] copy = table table[0][0] = 100 print(copy) # ..
이것이 취업을 위한 코딩테스트다 with 파이썬 파이썬의 일부 라이브러리는 잘못 사용하면 수행 시간이 비효율적으로 증가하므로 문법과 유의점을 잘 기억해두자. 표준 라이브러리 : 특정 프로그래밍 언어에서 자주 사용되는 표준 소스코드를 미리 구현해 놓은 라이브러리 코테에서는 표준 라이브러리를 사용할 수 있도록 허용하므로 표준 라이브러리를 사용하면 소스코드 작성량에 대한 부담을 줄일 수 있다. C++ 의 STL 와 같이, 파이썬에서는 파이썬 표준 라이브러리를 이용할 수 있다. 필요한 기능이 있다면 찾아서 아래의 공식 문서에서 찾아서 사용하는 습관을 기르자. https://docs.python.org/ko/3/library/index.html The Python Standard Library While The ..
이것이 취업을 위한 코딩테스트다 with 파이썬 입력 알고리즘 문제의 첫 번째 단계는 데이터를 입력 받는 것이다. 적절한 입력이 주어졌을 때, 그 입력을 받아서 적절한 알고리즘을 수행한 뒤의 결과를 출력하는 것을 요구하기 때문. input() 파이썬에서 데이터를 입력 받을 때는 input() 을 이용. 한 줄의 문자열 입력 받음. 입력 받은 데이터를 정수형 데이터로 처리하기 위해서는 문자열을 정수로 바꾸는 int() 함수를 사용해야 함. 데이터를 공백으로 구분할 때 - list(map(int, input().split())) -> 반드시 암기해야 하는 코드 ! 여러 개의 데이터를 입력 받을 때는 데이터가 공백으로 구분되는 경우가 많다. 입력 받은 문자열을 띄어쓰기로 구분하여 각각 정수 자료형의 데이터로 ..
이것이 취업을 위한 코딩테스트다 with 파이썬 함수 함수란? 코딩테스트에서 테스트 케이스가 입력된 뒤에 테스트 케이스만큼 특정한 알고리즘을 수행한 결과를 반복적으로 출력하도록 요구하는 문제가 출제되는 경우가 많다. 이처럼 동일한 알고리즘을 반복적으로 수행해야 할 때 함수는 중요하게 사용된다. def 함수명(매개변수): 실행할 소스코드 return 반환 값 예시 def add(a, b): return a + b print(add(3, 7)) return 문 없는 함수 함수 안에서 결과까지 출력하도록 하는 경우 return 문 없이 함수를 작성한다. def add(a, b): print('함수의 결과:', a + b) add(3, 7) 인자를 넘겨줄 때 값 지정하기 함수를 호출하는 과정에서 인자(Argum..
이것이 취업을 위한 코딩테스트다 with 파이썬 반복문 파이썬에서는 while문과 for문이 있는데 어떤 것을 사용해도 상관없다. 하지만 코테에서의 실제 사용 예시를 확인해 보면, 대부분 for문의 소스코드가 더 짧은 경우가 많다. while문 코테에서 무한 루프를 구현할 일은 거의 없으니 실수로 무한 루프가 발생하지 않도록 주의하자. i = 1 result = 0 # i가 9보다 작거나 같을 때 아래 코드를 반복적으로 실행 while i = 80: print(i + 1, "번 학생은 합격입니다.") 반복문은 얼마든지 중첩해서 사용할 수 있다. 중첩된 반복문은 코테에서 '플로이드 워셜 알고리즘', '다이나믹 프로그래밍' 등의 알고리즘 문제에서 매우 많이 사용된다. 다음은 구구단 2단부터 9단까지의 모든 ..
yesolz
'⚙️ Problem Solving/Python' 카테고리의 글 목록