본문 바로가기

코딩테스트288

[python] 체크 카드 문제 체크 카드를 사용할 때 가장 중요한 것은 결제가 항상 가능하도록 계좌 잔고를 항상 채워둬야 한다는 점이다. 어느 체크 카드는 deposit, pay, reservation 의 세 가지 기능을 가지고 있다. deposit : 주어진 금액만큼 계좌에 돈이 들어온다. pay : 주어진 금액만큼 계좌에서 돈이 결제된다. 단, 계좌의 현재 잔액이 주어진 금액보다 적다면 결제되지 않는다. reservation : 주어진 금액만큼 계좌에서 돈이 결제된다. 단, 계좌의 현재 잔액이 주어진 금액보다 적거나, 대기 목록에 다른 거래가 있다면 결제되지 않고 대기 목록의 맨 뒤에 추가된다. 대기 목록에 있는 거래들은 대기 목록에 들어간 순서대로 결제가 가능해지는 즉시 해당 거래의 금액만큼 계좌에서 금액이 차감된 뒤 대기.. 2023. 6. 16.
[python] Stack-코딩테스트 문제 크기가 K인 Stack 자료구조를 구현하려고 한다. 주어지는 명령은 push 와 pop 두 가지이다. push 는 Stack 에 크기가 1인 정소를 추가하는 명령이다. 만약에 이미 Stack 이 가득 차 있을 때 push 명령이 주어진다면, 대신 "Overflow" 를 출력한다. pop 은 Stack 에서 가장 최근에 추가된 정수를 제거하고, 제거된 정수를 출력하는 명령이다. 만약에 이미 Stack 이 비어있을 때 pop 명령이 주어진다면, 대신 "Underflow" 를 출력한다. N개의 명령이 주어질 때, 위의 지시 사항에 따라 값을 출력하시오. 입력 첫째 줄에 주어지는 명령의 개수 N과 Stack 의 크기 K가 공백을 두고 주어진다. 다음 N개의 줄에는 명령이 주어진다. push : Stack .. 2023. 6. 16.
[python] 개미와 진딧물 문제 한 변의 길이가 N인 정사각형 모양의 땅에 개미와 진딧물이 있다. 개미는 거리 M이하에 위치한 진딧물에게서 수액을 채취할 수 있다. 이 수액이 없으면 굶주린 개미는 다른 곳으로 먹이를 찾아 떠나게 된다. 이때 거리는 맨해튼 거리이다. 현재 땅에 있는 개미와 진딧물의 위치가 주어졌을 때, 진딧물로부터 수액을 얻을 수 있는 개미의 수를 구해보자. 입력 첫째 줄에 정사각형의 크기 N과 거리 M이 공백을 두고 주어진다. 다음 N개의 줄에는 N개의 숫자가 공백을 두고 주어진다. 숫자는 N × N 땅을 구성하는 순서대로 주어지며, 주어지는 숫자는 0, 1, 2 중 하나이다. 0은 비어있는 위치, 1은 개미가 있는 위치, 2는 진딧물이 있는 위치임을 의미한다. 1 ≤ N ≤ 100 1 ≤ M ≤ 10 입력에서 .. 2023. 6. 15.
[python] 제곱암호 문제 제곱암호는 다음과 같은 특징을 가진다. 암호문의 길이가 N이라면, N/2개의 숫자와 N/2개의 알파벳 소문자로 이루어져 있다. 암호문의 길이는 항상 짝수이다. 암호문의 첫 글자는 항상 알파벳 소문자이며, 이후에는 항상 숫자와 알파벳 소문자가 번갈아 가며 등장한다. 제곱암호로 암호화된 문장은 아래 방식을 통해 복호화할 수 있다. 원문은 처음에 비어있는 상태이다. 암호문의 첫 번째 문자부터 순서대로 아래의 복호화 과정을 거친다. 첫 번째 문자는 문장의 가장 왼쪽 문자를 의미한다. i가 홀수일 때, 암호문의 i번째 문자를 알파벳의 사전 기준 다음 문자로 바꾸는 작업을 암호의 i번째 숫자의 제곱번 시행한다. 작업이 끝난 뒤 변환된 알파벳을 원문의 맨 오른쪽에 추가한다. (i번째 숫자는 암호문의 i+1번째 .. 2023. 6. 15.