컴퓨터 공부/🐍 Python 16

n진법으로 표기된 string을 10진법 숫자로 변환하기 - int 함수

◆ 먼저, 글을 보기 전에 이 문제를 풀어볼까요? 더보기 문제 base 진법으로 표기된 숫자를 10진법 숫자 출력해보세요. 입력 입력으로는 공백으로 구분된 숫자가 두 개 주어집니다. 첫 번째 숫자는 num을 나타내며, 두 번째 숫자는 base를 나타냅니다. 출력 base 진법으로 표기된 num을 10진법 숫자로 출력해보세요. 제한 조건 base는 10 이하인 자연수입니다. num은 3000 이하인 자연수입니다. 입출력 예시 input output 12 3 5 444 5 124 입출력 예 설명 입출력 예 1 3진법으로 표기된 12는 10진법으로 표현하면 5입니다. ( 1*3 + 2 ) 입출력 예 2 5진법으로 표기된 444는 10진법으로 표현하면 124입니다. ( 4*5*5 + 4*5 + 4 ) 저는 처음..

몫과 나머지 - divmod

알고리즘 문제를 풀 때, 정수를 나눈 몫과 나머지를 구해야 할 때면, 보통 아래와 같은 방법으로 구합니다. ex) 29을 3으로 나눈 몫과 나머지를 구해야 하는 경우 a = 29 b = 3 print(a//b, a%b) # 9, 2 하지만, 파이썬에서는 divmod와 unpacking 기능이 있는데 divmod를 사용하면 아래와 같이 간편하게 몫과 나머지를 구할 수 있습니다! divmod는 한번에 몫과 나머지를 반환해주는 파이썬 내부 함수에요! a = 29 b = 3 print(*divmod(a, b))# 9 2 ◆ divmod를 사용할 때 주의할 점◆ - 무조건 divmod를 사용하는 것이 좋은 것은 아닙니다! 가독성이나, 팀의 코드 스타일에 따라서, 근본적인 //, % 의 방법으로 쓰는게 더 좋을 수..

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 연산이 값비교가 아닌 주소 비교 연산자이기 때문이다. 파이썬은 새로운 변수에 할당하려는 값이 이미 메모리에 존재하면 새로운 값을 생성하지 않고 기존에 존재..

반응형