컴퓨터 공부/🐍 Python 16

2차원 배열에서 최댓값 찾기

우리는 코딩을 하면서 또 알고리즘 문제를 풀면서, 2차원 배열을 정말 많이 쓴다. 2차원 배열을 한줄로 빠르게 생성하는 List Comprehension을 종종 사용하곤 하는데, 그러면 2차원 배열에서 어떤 원소값이 가장 큰 값인지 한번에 찾는 방법은 없을까? 물론, for문으로 배열을 돌면서 입력값 하나하나를 비교해가면서 찾을 수야 있겠지만, 빠르게 찾는 방법이 있으니까 한번 배워보자. ◆ max 값을 사용하면 되는 것 아닐까? vertices = [[1, 7, 12], [4, 7, 13], [1, 5, 17], [3, 5, 20], [2, 4, 24], [ 1, 4, 28], [3, 6, 37], [5, 6, 45], [2, 5, 62], [1, 2, 67], [5, 7, 73]] numvert = ..

파이썬 기본_1

파이썬에 대해 우리는 파이썬 3.x 버전을 사용한다. 파이썬 3버전에서의 문법을 숙지하자. 출력 - 가장 먼저 출력을 하기 위해, 컴퓨터에 명령을 해야하는데, 해당 명령을 파이썬에서는 print() 로 한다. (ex) print('문자/문자열') print(3) 연산 - 연산 몫연산/ 나머지 연산 / 나누기 연산 (ex) print(15//4) 처럼 슬래쉬를 2개 쓰면 몫연산이다. 예시의 출력은 3이 나오겠다 (ex) print(15%4)처럼 %는 modular 연산 (나머지 연산)이라고 하는데, 나머지를 출력한다. 예시의 출력은 3이 나오겠다. (ex) print(15/4) 처럼 /는 나누기 연산이다. 출력 결과는 소수점이 나온다. 변수,데이터 타입 - 변수는 데이터를 할당하는 것으로, 데이터 타입으로..

[Python] is와 == / and와 & / or과 |

언뜻보면 비슷하다고 느껴지는 연산자들의 차이가 무엇인지 알아보자. 먼저, is와 == 이다. is identity 연산자 (식별 연산자) reference comparison (참조 비교) --> 주소 비교! == 비교 연산자 value comparison (값 비교) 뭐든 예시를 살펴보면서, 이해하는것이 가장 빠르니까 예를 한번 살펴보자. 왼쪽 코드와 같이 print문을 출력해보면 모두 값이 True가 나온다. 그렇다면, 값을 변경해보면 어떨까? == 연산은 여전히 다 True가 나왔지만, is연산에서는 False 가 나왔다. 앞서 소개했듯이, is 연산이 값비교가 아닌 주소 비교 연산자이기 때문이다. 파이썬은 새로운 변수에 할당하려는 값이 이미 메모리에 존재하면 새로운 값을 생성하지 않고 기존에 존재..

[Python] 가장 기본적인 입력받기

사용자에게 입력을 받으려면 Python에서는 어떻게 해야 할까? input() 이 생각나면, 맞다! 그런데, 반복문으로 여러줄을 입력 받아야 하는 등의 상황에서 단순히 input() 만 쓰면 시간초과되는 경우가 빈번하게 발생할 수 있다. 그렇다면, sys 모듈을 불러오고 생각해보자. sys 모듈은 파이썬 인터프리터가 제공하는 변수와 함수를 직접 제어할 수 있게 해주는 모듈이다. 그냥, input() 을 해서 입력받는 것보다 훨씬 시간이 단축될 것이다. 속도 차이에 대해 더 자세히 알고 싶다면, 해당 링크에 간략하게 설명되어 있다. https://www.acmicpc.net/blog/view/56 입력 속도 비교 여러가지 언어와 입력 방법을 이용해서 시간이 얼마나 걸리는지 비교해 보았습니다. 방법: 첫째 ..

반응형