목록알고리즘 (62)
It's easy, if you try
문제 3040번: 백설 공주와 일곱 난쟁이 매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다. www.acmicpc.net 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static int[] capNum; static boolean[] isSelected; stati..
문제 풀이 import java.util.*; import java.io.*; public class Main_BOJ_2961_도영이가만든맛있는음식 { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); static StringTokenizer st; static int[][] foodInfo; static boolean[] isSelected; static long divOfScore; public static void main(String[] args) throw..
풀이 package com.sohee.algo; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Solution1221 { static String[] numbers = new String[]{"ZRO", "ONE", "TWO", "THR", "FOR", "FIV", "SIX", "SVN", "EGT", "NIN"}; static int [] cnt; static String testCase; static int N; public static voi..
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..
문제 서랍의 비밀번호가 생각이 나지 않는다. 비밀번호 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..
문제 이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다. 명령어수신 탑(높이) 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..