Coding
-
[Python] 반복 가능한 객체의 언패킹Coding/Python 2022. 12. 22. 17:04
Iteration 파이썬에서 반복 $($iteration$)$은 파이썬 컨테이너 $($리스트, 튜플, 딕셔너리 등$)$에서 지원하는 연산이다. 반복 가능한 객체에 대해서는 일반적으로 for 루프를 이용해 객체의 값을 하나씩 순회하거나 in 연산자를 이용해 멤버 검사 등을 할 수 있다. 반복 가능한 객체를 for 문에서 순회하는 예시는 다음과 같다. >>> l = [1,2,3,4] >>> for x in l: print(x) 1 2 3 4 이 포스트에서는 반복 가능한 객체의 언패킹을 알아본다. Unpacking 파이썬에서 언패킹이란 반복 가능한 객체의 여러 값들을 각각 다른 변수 등에 저장하는 것을 말한다. 가장 간단한 예시로 다음이 있다. >>> l = [1,2] >>> a, b = l >>> a 1 >..
-
[Python] 객체와 클래스, 스페셜 메소드Coding/Python 2022. 12. 19. 18:01
파이썬의 class 문을 이용해서 새로운 객체 타입을 정의할 수 있다. 다음은 간단한 pop, push 연산을 수행하는 스택을 정의하는 Stack class이다. class Stack: def __init__(self):# 스택 초기화 self._items = []# underbar 하나가 앞에 붙은 변수는 private 변수로 간주한다 def push(self, item):# push 연산 정의 : stack 에 값을 추가한다 self._items.append(item) def pop(self):# pop 연산 정의 : stack 맨 위의 값을 삭제하고 리턴한다 return self._items.pop() 파이썬에서 클래스를 정의할 때, underbar 2개가 앞 뒤에 붙은 메소드가 정의되어있는 것을 ..
-
[백준] 7571번: 크래머의 공식Coding/Problem Solving & Algorithm 2022. 12. 19. 14:56
문제 링크 : https://www.acmicpc.net/problem/7561 문제 세 변수로 이루어진 일차 방정식 세 개가 주어진다. 크래머의 공식을 이용해서 해를 구하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 세 줄로 이루어져 있고, 아래와 같은 순서로 주어진다. $a_{11}$ $a_{12}$ $a_{13}$ $b_{1}$ $a_{21}$ $a_{22}$ $a_{23}$ $b_{2}$ $a_{31}$ $a_{32}$ $a_{33}$ $b_{3}$ 모든 숫자는 -1000보다 크거나 같고, 1000보다 작거나 같은 정수이며, 공백 한 칸으로 구분되어져 있다. 출력 각 테스트 케이스마다 두 줄을 출력한다. 첫째 줄에는 행렬 $A_{1}$, $A..
-
[백준] 7562번: 나이트의 이동Coding/Problem Solving & Algorithm 2022. 12. 18. 15:31
문제 링크 : https://www.acmicpc.net/problem/7562 문제 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 있을까? 입력 입력의 첫째 줄에는 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 세 줄로 이루어져 있다. 첫째 줄에는 체스판의 한 변의 길이 l(4 ≤ l ≤ 300)이 주어진다. 체스판의 크기는 l × l이다. 체스판의 각 칸은 두 수의 쌍 {0, ..., l-1} × {0, ..., l-1}로 나타낼 수 있다. 둘째 줄과 셋째 줄에는 나이트가 현재 있는 칸, 나이트가 이동하려고 하는 칸이 주어진다. 출력 각 테스트 케이스마..