We will find a way, we always have.

-interstellar

전체 글 303

자료구조

파이썬은 다른 언어들과는 달리 다른 자료형을 담을 수 있는 리스트를 갖고 있다. 하지만 이러한 능력때문에 한가지 주의할 점이 있다. # Python a1 = [[0] * 5] * 3 a1[1][1] = 99 # [1][1] 외에 다른 곳의 값도 99로 출력됨 print(a1) a2 = [[0] * 5 for i in range(3)] a2[1][1] = 99 print(a2) # 의도대로 작동 됨 a1을 실행하면 한군대만 99로 변환되는게 아니라 총 3군데가 99로 변환된다. 반면, 리스트 컴프리헨션을 사용한 a2는 의도한 대로 작동한다. 다차원 배열을 만들 때는 반드시 a2와 같은 방식으로 만들어야 하는데, 그 이유는 위에서 소개한 리스트 구조와 관련이 있다. a1과 같이 만들면 메모리 주소값들이 복사..

카테고리 없음 2022.03.29

[백준] 11866번: 요세푸스 문제0

요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) 출력 예제와 같이 요세푸스 순열을 출력한다. 예제 입력 예제 출력 7 3 문제 풀이 import sys input..

파이썬에서 2진수, 8진수, 16진수

컴퓨터는 기본적으로 2진법을 사용한다. 2진법이란 0과 1로 모든 숫자를 표현하는 것이다. 우리가 평소에 사용하는 진법은 0부터 9까지 사용하는 10진법이다. 하지만 주위에 12진법 또는 60진법도 눈에 띈다. 시간에서 hour가 12진법, minute 이 60진법이다. 이제 코딩에서 진법을 변환하는 방법을 알아보자. 2진수 : 0b 8진수 : 0o 16진수 : 0x 이렇게 접두사가 붙는다. a = int(100, 2) 이것은 2진수인 100을 10진수로 바꾼다는 의미이다. a를 출력해보면 4가 출력된다. a = int(100, 8) 이는 8진수 100을 10진수로 바꾼다는 뜻이다. a를 출력해보면 64가 출력된다. format(a, 'b') 이것은 10진수 a를 2진수로 바꾼다는 의미이다. b를 o로 ..