목록분류 전체보기 (146)
It's easy, if you try
import java.io.*; import java.util.*; public class Solution { static BufferedReader br =new BufferedReader(new InputStreamReader(System.in)); static StringTokenizer st; static int limit =0; static int numOfFood=0; static int[][] foodInfo; static boolean[] isSelected; static Queue queue; static int maxNum; public static void main(String[] args) throws Exception { int T = Integer.parseInt(br.readL..
풀이 T = int(input()) # 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다. days = {1: 31, 2: 28, 3: 31, 4: 30, 5: 31, 6: 30, 7: 31, 8: 31, 9: 30, 10: 31, 11: 30, 12: 31} for test_case in range(1, T + 1): case = str(input()) year = case[0:4] month = case[4:6] day = case[6:8] answer = '' if 0 '1') 로 바꾼 후 출력하면 안된다. 만약 하나라도 조건을 만족하지 못하면 '#[test_case] -1'을 출력한다. 최초 발행 날짜: 20..

heapq 모듈에 대해 간략히 알아보자 ! Heap 이란 ? 힙(heap)은 최댓값 및 최솟값을 찾아내는 연산을 빠르게 하기 위해 고안된 완전이진트리(complete binary tree)를 기본으로 한 자료구조(tree-based structure)로서 다음과 같은 힙 속성(property)을 만족한다. A가 B의 부모노드(parent node)이면, A의 키(key)값과 B의 키값 사이에는 대소관계가 성립한다. 힙에는 두가지 종류가 있으며, 부모노드의 키값이 자식노드의 키값보다 항상 큰 힙을 '최대 힙', 부모노드의 키값이 자식노드의 키값보다 항상 작은 힙을 '최소 힙'이라고 부른다. 아래 사진은 최대 힙의 예시이다. 출처 : 위키백과 '힙 (자료 구조)' heapq 완전 이진트리 기반의 최소 힙 자..
언더스코어(_) 크게 다섯가지의 상황에서 사용된다. 인터프리터(Interpreter)에서 마지막 값을 저장할 때 값을 무시하고 싶을 때 (흔히 “I don’t care”라고 부른다.) 변수나 함수명에 특별한 의미 또는 기능을 부여하고자 할 때 국제화(Internationalization, i18n)/지역화(Localization, l10n) 함수로써 사용할 때 숫자 리터럴값의 자릿수 구분을 위한 구분자로써 사용할 때 여기서 for _ in range(n) 은 2번째 경우인 값을 무시하고 싶을 때 쓰인 경우이다. 인덱스가 필요하지 않을 때 간단히 쓰인다. 최초 발행 날짜: 2020-03-23 21:57:00
문제 서랍의 비밀번호가 생각이 나지 않는다. 비밀번호 P는 000부터 999까지 번호 중의 하나이다. 주어지는 번호 K부터 1씩 증가하며 비밀번호를 확인해 볼 생각이다. 예를 들어 비밀번호 P가 123 이고 주어지는 번호 K가 100 일 때, 100부터 123까지 24번 확인하여 비밀번호를 맞출 수 있다. P와 K가 주어지면 K부터 시작하여 몇 번 만에 P를 맞출 수 있는지 알아보자. [입력] 입력으로 P와 K가 빈 칸을 사이로 주어진다. [출력] 몇 번 만에 비밀번호를 맞출 수 있는지 출력한다. 입력 예시 123 100 출력 예시 24 풀이 SW Expert Academy 모의 테스트 방식에 익숙해지려고 풀어봤다. 풀이 1 P, K = map(int, input().split()) print(P - K..
SSL의 동작 방법 생활코딩에서 SSL의 동작 방법을 읽으며 내가 이해하기 쉬우려고 정리하였다. 더 정확하고 자세한 정보를 알고 싶거나 HTTPS와 암호화 방법에 대한 사전지식이 없다면 아래 링크를 참고 ! [ 출처: https://opentutorials.org/course/228/4894 ] 1. 악수 (handshake) 실제 데이터를 주고 받기 전 client와 server가 나누는 일종의 인사 이 과정을 통해 서로 상대방이 존재하는지, 데이터를 주고 받기 위해 어떤 방법을 사용할지 파악한다. client hello client측에서 생성한 랜덤 데이터 client가 지원하는 암호화 방식들 세션 아이디 server hello server 측에서 생성한 랜덤 데이터 server가 선택한 client..
문제 이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다. 명령어수신 탑(높이) I 숫자 큐에 주어진 숫자를 삽입합니다. D 1 큐에서 최댓값을 삭제합니다. D -1 큐에서 최솟값을 삭제합니다. 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요. 제한사항 operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다. operations의 원소는 큐가 수행할 연산을 나타냅니다. 원소는 “명령어 데이터” 형식으로 주어집니다.- 최댓값/최솟값을 삭제하는 연산에서 최댓값/최솟값이 둘 이상인 경우, 하나만 삭제합니다...

문제 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net 풀이 import java.io.*; import java.util.*; public class Main_BOJ_2206_벽부수고이동하기 { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static StringTokenizer st; static int N, M; static char[][] map; static int[][][] v..

문제 코딩테스트 연습 - 위장 programmers.co.kr 풀이 이 문제는 알고리즘 스터디에서 설원언니가 풀이해준 문제인데, 복습하면 좋을 것 같아 다시 풀어보며 공부한 후, 정리했다. from collections import Counter from functools import reduce def solution(clothes): count = Counter([category for name, category in clothes]) return reduce(lambda x, y : x * (y + 1), count.values(), 1) -1 먼저 서로 다른 의상의 조합의 수를 구하는 공식 clothes가 [[yellow_hat, headgear], [blue_sunglasses, eyewear]..

문제 풀이 import java.io.*; import java.util.*; public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static BufferedWriter bw= new BufferedWriter(new OutputStreamWriter(System.out)); public static void main(String[] args) throws IOException { int T = stoi(br.readLine()); for (int i = 0; i < T; i++) { Deque pw = new ArrayDeque(); Deque wait = new ArrayD..