
https://www.acmicpc.net/problem/1463정수 N이 주어질 때, X가 3으로 나누어 떨어지면, 3으로 나눈다.X가 2로 나누어 떨어지면, 2로 나눈다.X - 1을 한다.의 3가지 연산을 이용하여 1을 만들 때, 연산을 사용하는 횟수의 최

단계별로 풀어보기 > 정렬 > 커트라인https://www.acmicpc.net/problem/25305응시자 수 N, 상 받는 사람 수 k 일 때, 상 받을 수 있는 커트라인을 출력하라.커트라인은 k번째 사람의 점수이다.배열 score를 오름차순 정렬하고,

https://www.acmicpc.net/problem/15649단계별로 풀어보기 > 백트래킹 > N과 M (1)숫자 조합을 만들기 위해 DFS를 이용한다.dfs 함수를 만들어 반복문을 통해 각 자리(depth)의 숫자를 순차적으로 지정하고 해당 숫자를 사용

단계별로 풀어보기 > 백트래킹 > N-Queenhttps://www.acmicpc.net/problem/9663행에 따른 열의 값을 저장하는 chess 배열을 생성한다. chess 배열은 i번째 행에 j번째 열에 퀸이 있음을 뜻한다.(chessi = j;)ch

단계별로 풀어보기 > 브루트 포스 > 영화감독 숌https://www.acmicpc.net/problem/1436숫자 N이 입력될 때, 666을 포함하는 N번째 숫자를 출력하라입력받은 count가 입력받은 check값이 될 때까지 반복한다.count는 num이

단계별로 풀어보기 > 재귀 > 피보나치 수 5https://www.acmicpc.net/problem/10870n이 주어졌을 때, n번째 피보나치 수를 구하라.(재귀)

단계별로 풀어보기 > 누적 합 > 구간 합 구하기 5https://www.acmicpc.net/problem/11660표의 크기를 정하는 N(표의 크기 = N \* N),구간을 주는 횟수 M이 주어질 때,주어진 각 구간에 따라 표의 누적합을 구하라.해당 문제는

단계별로 풀어보기 > 그래프와 순회 > 너비 우선 탐색 2https://www.acmicpc.net/problem/24445N개의 정점, M개의 간선, 시작 노드 정보 R이 주어질 때, BFS로 순회하는 노드 순서를 출력하라인접 리스트 배열 graph를 생성하

문제푼 흔적

단계별로 풀어보기 > 정렬 > 수 정렬하기https://www.acmicpc.net/problem/2750N개의 수가 주어질 때, 오름차순으로 정렬하라.Arrays.sort를 이용하여 오름차순으로 정렬한다.

단계별로 풀어보기 > 정렬 > 대표값2https://www.acmicpc.net/problem/25875개의 자연수가 주어질 때, 평균과 중앙값을 출력하라.

단계별로 풀어보기 > 정렬 > 소트인사이드https://www.acmicpc.net/status?user_id=ms000320&problem_id=1427&from_mine=1숫자 N이 주어질 때, 각 자리수를 내림차순으로 정렬하여 출력하라.N을 입력 받아 s

단계별로 풀어보기 > 정렬 > 좌표 정렬하기 2https://www.acmicpc.net/problem/116512차원 평면 위의 점 N개가 주어질 때, y좌표 순으로 정렬하 되, y좌표가 같으면 x좌표 순으로 정렬하라.좌표 정렬하기 문제와 똑같이 Arrays

단계별로 풀어보기 > 정렬 > 단어 정렬https://www.acmicpc.net/problem/1181알파벳 소문자로 이루어진 N개의 단어가 주어질 때, 다음을 바탕으로 정렬하라.1\. 길이가 짧은 단어부터2\. 길이가 같다면 사전 순서대로Arrays.sor

단계별로 풀어보기 > 정렬 > 나이순 정렬https://www.acmicpc.net/problem/10814N명의 사람 나이, 이름이 주어질 때, 나이 순으로 정렬하고, 나이가 같으면 먼저 가입한 사람의 순서로 정렬하라.사람의 정보를 Person 클래스로 저장

단계별로 풀어보기 > 정렬 > 수 정렬하기 2https://www.acmicpc.net/problem/2751N개의 수가 주어질 때, 오름차순으로 정렬하라.처음 문제를 풀 때, Arrays.sort를 이용하여 배열을 정렬하려 했으나, 이를 이용하면 시간 초과가

단계별로 풀어보기 > 정렬 > 수 정렬하기 3https://www.acmicpc.net/problem/10989N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하라.(시간제한 3초)단순하게 배열에 저장하고, Arrays.sort를 이용하여 오름차순 정렬하였다.

단계별로 풀어보기 > 정렬 > 좌표 압축https://www.acmicpc.net/problem/18870N개의 수가 주어질 때, 각각의 수마다 주어진 수 중 몇 번째 번호인지 출력하라.문제에서Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서

단계별로 풀어보기 > 브루트 포스 > 블랙잭https://www.acmicpc.net/problem/2798N개의 카드가 주어질 때, 3장을 뽑아 M이 넘지 않는 최댓값을 출력하라.같은 카드를 선택하지 않게 3중 for문에서 if문을 통해 이 전에 선택한 카드

단계별로 풀어보기 > 브루트 포스 > 분해합https://www.acmicpc.net/problem/2231%분해합 : 자연수 N이 주어질 때, N과 N을 이루는 각 자리수의 합%생성자 : 분해합이 자연수 N이 되는 자연수어떤 자연수 N이 주어질 때, 가장 작

단계별로 풀어보기 > 브루트 포스 > 수학은 비대면강의입니다https://www.acmicpc.net/problem/19532a,b,c,d,e,f가 주어질 때, 해당 연립방정식에 해당하는 x,y 값을 return 하라.a,b,c,d,e,f를 입력 받아서 이중

단계별로 풀어보기 > 브루트 포스 > 체스판 다시 칠하기https://www.acmicpc.net/problem/1018MxN 크기의 보드(단위 정사각형으로 나뉘어짐)가 있을 때, 어떤 정사각형은 검은색, 나머지는 흰색으로 칠해져 있다.이 보드를 임의의 구역을

단계별로 풀어보기 > 심화 2 > 약수https://www.acmicpc.net/problem/1037양수 A의 약수의 개수가 주어지고, 1과 본인을 제외한 약수가 주어질 때, 양수 A를 return 하라.주어진 약수를 배열에 입력 후, 오름차순으로 정렬하여

단계별로 풀어보기 > 심화 2 > 영단어 암기는 괴로워단어의 갯수 N, 단어의 길이 M이 주어지고,이 후 단어의 갯수만큼 단어들이 한줄씩 주어진다.다음과 같은 순서로 단어를 정렬하라1\. 자주 나오는 단어일수록 앞에 배치한다.2\. 해당 단어의 길이가 길수록 앞에 배치

단계별로 풀어보기 > 심화 2 > 인사성 밝은 곰곰이https://www.acmicpc.net/problem/25192채팅 기록 수 N개가 주어질 때,ENTER는 새로운 사람이 입장, 나머지는 사람들이 채팅을 친 기록이다.새로운 사람이 입장하면 사람들은 곰곰티

단계별로 풀어보기 > 심화 2 > 붙임성 좋은 총총이https://www.acmicpc.net/problem/26069ChongChong이와 만나면 무지개 댄스에 전염된다.또한, 무지개 댄스에 전염된 사람과 만나면 무지개 댄스에 전염된다.사람들의 수 N이 주어

단계별로 풀어보기 > 심화 2 > 통계학https://www.acmicpc.net/problem/2108N개의 수가 주어질 때, 다음의 통계값을 구하여라산술평균 : N개의 수들의 합을 N으로 나눈 값중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중

단계별로 풀어보기 > 조합론 > 녹색거탑https://www.acmicpc.net/problem/24723녹색거탑 높이 정수 N이 주어질 때 정상에서 바닥까지 내려오는 경우의 수를 출력하라.한층씩 내려올 때마다 분기가 2개로 나뉜다.즉, 한층당 2^N의 분기가

단계별로 풀어보기 > 조합론 > 베라의 패션https://www.acmicpc.net/problem/15439상,하의 N벌이 주어질 때, i 번째 상,하의는 모두 색상 i를 가진다.(N개의 색상 모두 다름)이 때, 상,하의 색상이 서로 다른 색상인 조합을 구하

단계별로 풀어보기 > 조합론 > 다리 놓기https://www.acmicpc.net/problem/1010강서에는 다리를 지을 수 있는 사이트가 N개,강동에는 다리를 지을 수 있는 사이트가 M개 일 때,강서와 강동을 이을 수 있는 다리를 지으려고 한다.이 때,

단계별로 풀어보기 > 조합론 > 이항 계수 1https://www.acmicpc.net/problem/11050자연수 N, 정수 K가 주어졌을 때, 두 수의 이항 계수를 구하여라팩토리얼 메서드를 생성하여 결과로 N!/((N-K)! x k!)의 결과를 retur

단계별로 풀어보기 > 재귀 > 팩토리얼 2https://www.acmicpc.net/problem/274330<=N<=20인 정수 N이 주어질 때, N!를 출력하라.처음 풀었을 때, int 범위를 생각하지 않고 factorial 메서드를 int라고

단계별로 풀어보기 > 재귀 > 재귀의 귀재https://www.acmicpc.net/problem/25501테스트 케이스 T개가 주어질 때, 해당 테스트 케이스를 isPalindrome 함수를 진행하여 팰린드롬이면 1, 아닐 경우 0 그리고 isPalindro

단계별로 풀어보기 > 재귀 > 별 찍기 - 10https://www.acmicpc.net/problem/24473의 거듭제곱 N이 주어질 때, 크기 3의 패턴은 가운데의 공백이 있는 3 x 3 정사각형 모형이다.해당 모형을 가지고 N이 9일 경우 N이 3인 경

단계별로 풀어보기 > 재귀 > 하노이 탑 이동 순서https://www.acmicpc.net/problem/11729하노이 탑 규칙에 따라서 원판의 개수 N이 주어질 때출력 첫째 줄에는 이동 횟수, 둘째줄부터는 이동 과정을 출력하라문제푼 흔적

단계별로 풀어보기 > 재귀 > 칸토어 집합https://www.acmicpc.net/problem/4779'-'가 3^N개 있는 문자열을 3등분 한 뒤, 가운데 문자열은 공백으로 바꾼다. 이를 모든 선의 길이가 1이 될 때까지 반복한 결과를 출력하라.배열의 범

단계별로 풀어보기 > 재귀 > 알고리즘 수업 - 병합 정렬 1https://www.acmicpc.net/problem/24060배열 A의 크기 N, 저장 횟수 K가 주어질 때, 병합 정렬시에 K번째 저장되는 수를 출력하라 병합 정렬시에 임시로 정렬된 배열 tm

단계별로 풀어보기 > 스택 큐 덱 > 제로https://www.acmicpc.net/problem/10773앞으로 입력될 정수의 갯수 K가 주어질 때,입력 된 정수가 0인 경우 가장 마지막으로 쓰여진 값을 지우고,나머지 정수가 입력될 경우 해당 수를 적는다.총

단계별로 풀어보기 > 스택 큐 덱 > 괄호https://www.acmicpc.net/problem/9012입력 데이터의 개수 N이 주어지고임의의 괄호들로 이뤄진 문자열 N개가 주어질 때,해당 문자열이 올바르게 괄호를 형성하고 있으면 YES, 아니면 NO를 출력

단계별로 풀어보기 > 스텍 큐 덱 > 균형잡힌 세상https://www.acmicpc.net/problem/4949어떤 문자열이 주어졌을 때, 소괄호, 대괄호 2종류의 괄호가 제대로 닫혔는지 확인하라.stack을 이용하여 각각 '(', '', ')', ''의

단계별로 풀어보기 > 스택 큐 덱 > 도키도키 간식드리미https://www.acmicpc.net/problem/12789각각의 번호표를 가진 사람들이 간식으로 받으로 올 때, 자신의 차례가 아닌 경우 대기 줄로들어가게 된다. 이 때, 대기줄은 가장 마지막에

단계별로 풀어보기 > 스택 큐 덱 > 카드 2https://www.acmicpc.net/problem/2164N장의 카드가 있을 때, 1번 카드가 가장 위, N번 카드가 가장 아래에 있다.이 때, 다음1,2번 같은 과정을 반복하여 카드가 1장이 남을 때까지 제

단계별로 풀어보기 > 스택 큐 덱 > 요세푸스 문제 0https://www.acmicpc.net/problem/118661~N번까지의 사람이 원을 이루고, 양의 정수 K가 주어질 때,순서대로 K번째 사람들을 제거한다.해당 과정을 계속 반복하여 모든 사람이 제거

단계별로 풀어보기 > 스택 큐 덱 > 풍선 터뜨리기https://www.acmicpc.net/problem/23461~N번까지의 N개의 풍선이 원형으로 있을 때, 풍선 안에는 값이 들어있는 종이가 있다.종이에 적힌 값만큼 움직여 다음 풍선을 터뜨린다.이 과정을

단계별로 풀어보기 > 스택 큐 덱 > queuestackhttps://www.acmicpc.net/problem/24511N개의 자료구조(1~N)로 구성 된 queuestack이 있을 때, 각각의 자료구조에는 한 개의 원소가 들어있다.자료구조는 queue or

단계별로 풀어보기 > 백트래킹 > N과 M 2https://www.acmicpc.net/problem/15650자연수 N과 M이 주어졌을 때, 1~N까지 중복 없이 M개 고른 수열(오름차순)을 출력하라.M개의 조합을 가지고 있을 배열 permute에 재귀를 이

단계별로 풀어보기 > 백트래킹 > N과 M (3)https://www.acmicpc.net/problem/15651자연수 N과 M이 주어질 때, 1~N까지 자연수 중 M개를 고른 중복이 허용되는 수열을 모두 구하라.기존 N과 M 문제들에서 visited, 즉

단계별로 풀어보기 > 백트래킹 > N과 M (4)https://www.acmicpc.net/problem/15652자연수 N과 M이 주어 졌을 때, 조건을 만족하는 길이가 M인 수열을 모두 출력하라.같은 수를 여러개 골라도 되지만, 고른 수열은 비내림차순이어야

단계별로 풀어보기 > 그리디 알고리즘 > 동전 0https://www.acmicpc.net/problem/11047동전의 종류 N, 최종 가치의 합 K가 주어질 때,동전들을 이용하여 k 값이 되는 최소 동전의 개수를 출력하라.동전의 종류를 내림차순으로 정리한

단계별로 풀어보기 > 그리디 알고리즘 > 잃어버린 괄호https://www.acmicpc.net/problem/1541식(문자열)이 주어질 때, 해당 식에 괄호를 이용하여 식의 최솟값을 return 하라.식에 "+","-", 양수 만 있을 때, 최솟값이 나오는

단계별로 풀어보기 > 백트래킹 > 연산자 끼워넣기https://www.acmicpc.net/problem/14888숫자의 갯수 N, 숫자들, 각각 기호(+,-,\*,/)의 갯수가 주어질 때, 주어진 것들을 통해 식을 만들어 최솟값, 최댓값을 return하라단,

단계별로 풀어보기 > 백트래킹 > 스타트와 링크https://www.acmicpc.net/problem/14889선수 N명이 주어지고, 한 선수 기준으로 다른 선수들과의 시너지가 주어질 때, 스타트와 링크 팀 능력치 차이의 최솟값을 return 하라.주어진 선

단계별로 풀어보기 > 그리디 알고리즘 > 주유소https://www.acmicpc.net/problem/13305도시별 기름 값 N개와 도시 별 거리 N-1개가 주어진다.기름을 충전할 때, 무한으로 충전할 수 있을 때, 가장 왼쪽 도시부터 가장 오른쪽 도시에

단계별로 풀어보기 > 그리디 알고리즘 > 회의실 배정https://www.acmicpc.net/problem/1931한 개의 회의실을 N개의 회의가 사용하려고 한다.각 회의는 시작, 끝 시간이 주어질 때, 회의가 겹치지 않게 가장 많이 회의실을 이용할 수 있는

단계별로 풀어보기 > 동적 계획법 1 > 알고리즘 수업 피보나치 수 1https://www.acmicpc.net/problem/24416재귀로 구현한 피보나치와 동적 프로그래밍을 이용한 피보나치에 각각 코드 1,2가 얼마나 호출 되었는지 확인하라.문제에서 재귀

단계별로 풀어보기 > 동적 계획법 1 > RGB 거리https://www.acmicpc.net/problem/1149N개의 집이 있을 때, 각각 집들은 빨강, 초록, 파랑 중 하나의 색으로 해야한다.각 집마다 색상을 칠하는 가격이 다르고, 하나의 집에 색을 칠

단계별로 풀어보기 > 동적 계획법 1 > 신나는 함수 호출https://www.acmicpc.net/problem/9184문제에 주어진 재귀 함수를 그대로 구현하게 되면 오랜 시간이 걸리므로, 시간안에 출력할 수 있도록 하라.재귀 호출 + 메모이제이션을 이용하

단계별로 풀어보기 > 동적 계획법 1 > 가장 긴 바이토닉 부분 수열https://www.acmicpc.net/problem/11054수열 S가 어떤 수 Sk를 기준으로 S1<S2<...Sk-1<Sk>...SN-1>SN을 만족하면 바이토닉 수열

단계별로 풀어보기 > 우선순위 큐 > 최대 힙https://www.acmicpc.net/problem/11279N개의 수가 주어질 때, 각각 정수 x가 자연수이면 배열에 x 값을 추가하고, x가 0이면 배열에서 가장 큰 값을 출력하고, 그 값을 배열에서 제거한

단계별로 풀어보기 > 구간 합 > 구간 합 구하기 4https://www.acmicpc.net/problem/11659수 N개가 주어질 때, i ~ j 번째 수까지 합을 구하라N개의 수를 입력받아 배열에 삽입할 때, 각 자리는 해당 자리 수 + 이전까지의 합을

전체문제 > 나는 학급회장이다https://www.acmicpc.net/problem/2456N명의 학생이 있을 때, 그 중 3명의 학급회장을 한 명 뽑는다. 학생들은 각각 선호도 점수 1, 2, 3점을 각 후보에게 점수를 줄 ㅅ수 있다. 전체 점수를 합계했을

단계별로 풀어보기 > 집합과 맵 > 숫자 카드https://www.acmicpc.net/problem/10815상근이는 숫자 카드 N개를 가지고 있을 때, 정수 M개가 주어진다. 해당 정수들이 숫자 카드에 속하는 숫자인지 확인하여 가지고 있으면 1, 가지고 있

단계별로 풀어보기 > 약수, 배수와 소수 2 > 최소공배수https://www.acmicpc.net/problem/1934두 자연수 A,B가 주어질 때, A,B의 최소공배수를 구하라.최대공약수를 구하는 방법인 GCD(유클리드 호제법)을 이용하여최소공배수를 구하

단계별로 풀어보기 > 심화 1 > 킹,퀸,룩,비숍,나이트,폰https://www.acmicpc.net/problem/3003킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개로 구성된 체스에서발견한 흰색 피스의 개수가 주어졌을 때, 몇 개를 더

단계별로 풀어보기 > 심화 1 > 크로아티아 알파벳https://www.acmicpc.net/problem/2941다음과 같이 크로아티아 알파벳에 대한 표가 주어지고, 입력으로 크로아티아 알파벳이 주어질 때, 해당 알파벳이 몇 글자인지 출력하라.'=', '-'

단계별로 풀어보기 > 심화 1 > 별찍기 7https://www.acmicpc.net/problem/2444예제를 보고 규칙을 유추 후 별을 찍어 보기.규칙으로 1층에 1, 2층에 3, 3층에 5 \~~의 갯수가 되므로, 층을 i층이라 가정할 때 별의 갯수는

단계별로 풀어보기 > 심화 1 > 그룹 단어 체커https://www.acmicpc.net/problem/1316각 문자가 연속해서 나타나는 경우를 그룹 단어라고 칭할 때, N개의 단어를 입력 받을 때, 그룹 단어인 갯수를 출력하라.flag는 그룹 단어 인 경

단계별로 풀어보기 > 심화 1 > 너의 평점은https://www.acmicpc.net/problem/25206전공평점을 계산하는 프로그램을 작성하라.전공과목별 점수는 학점 x 과목평점이고,전공평점은 전공과목별의 함을 학점의 총합으로 나눈 값이다.전공평점을 출

단계별로 풀어보기 > 2차원 배열 > 최댓값9x9 격자판에 81개의 0~자연수가 주어질 때, 최댓값을 찾고, 최댓값의 행과 열을 출력하라.2중 for문을 이용하여 주어지는 수를 비교한다.readLine() 메서드를 이용하여 한 줄씩 받아서 Token 별로 비교한다.문제

단계별로 풀어보기 > 시간 복잡도 > 알고리즘 수업 - 점근적 표기 1https://www.acmicpc.net/problem/24313f(n) = a1n + a2, c, n0 가 주어질 때, O(n) 정의에 만족하면 1, 아니면 0을 출력하라.예제를 보고 문

https://www.acmicpc.net/problem/2563단계별로 풀어보기 > 2차원 배열 > 색종이가로, 세로 각각 100인 흰색 도화지 위에 가로, 세로 각각 10인 정사각형 모양의 검은색 색종이를 올릴 때(흰색 도화지의 변과 검은 색종이 변이 평행

단계별로 풀어보기 > 약수와 배수와 소수 2 > 가로수https://www.acmicpc.net/problem/2485가로수의 갯수와 각 가로수의 위치가 주어질 때, 가로수들이 모두 같은 간격이 되도록 가로수를 추가로 심는다. 이 때, 필요한 가로수의 갯수를

단계별로 풀어보기 > 집합과 맵 > 회사에 있는 사람https://www.acmicpc.net/problem/7785첫째줄에 총 기록 수 N이 주어지고, 둘째 줄부터 사람 + 출근/퇴근 이 주어진다.이 때, 기록이 전부 주어지고 난 후, 회사에 남은 사람을 출

단계별로 풀어보기 > 집합과 맵 > 문자열 집합https://www.acmicpc.net/problem/14425N개의 문자열로 이루어진 집합 S가 주어질 때, M개의 문자열들이 주어진다.이 때, M개의 문자열 중 집합 S에 포함되어있는 갯수를 구하라.Hash

단계별로 풀어보기 > 집합과 맵 > 숫자 카드 2상근이가 가진 숫자 카드 N개가 주어지고, 정수 M개가 주어질 때, 상근이가 가진 숫자 카드 중에서 정수 M개의 숫자 각각은 몇개가 있는지 각 숫자마다 출력하라.HashMap을 통해 상근이가 가진 숫자 N개를 저장한다.

단계별로 풀어보기 > 집합과 맵 > 나는야 포켓몬 마스터 이다솜https://www.acmicpc.net/problem/1620포켓몬 도감에 수록되어있는 포켓몬 개수 N과 맞춰야 하는 문제의 개수 M이 주어진다. 이 때, 1<= N,M <= 100,

단계별로 풀어보기 > 집합과 맵 > 듣보잡https://www.acmicpc.net/problem/1764듣도 못한 사람 N, 보도 못한 사람 M이 주어질 때, 듣도 보도 못한 사람의 수와 각각 사람의 이름을 출력하라.HashSet을 이용하여 풀이한다. 듣도

단계별로 풀어보기 > 그래프와 순회 > 바이러스https://www.acmicpc.net/problem/2606웜 바이러스는 네트워크가 연결 된 컴퓨터끼리 감염된다.컴퓨터의 수와 네트워크 상에서 서로 연결되어 있는 정보가 주어질 때, 1번 컴퓨터를 통해 웜 바

단계별로 풀어보기 > 그래프와 순회 > 단지번호붙이기https://www.acmicpc.net/problem/2667정사각형 모양의 지도에 1은 집이 있는 곳, 0은 집이 없는 곳을 나타낼 때, 연결된 집의 모임을 단지라 정의하고, 그 단지의 갯수와 각 단지별

단계별로 풀어보기 > 우선순위 큐 > 최소 힙https://www.acmicpc.net/problem/1927N개의 줄에 연산에 대한 정보를 나타내는 정수 x가 주어진다.x가 자연수라면 배열에 x라는 값을 추가하는 연산,x가 0이라면 배열에서 가장 작은 값을

단계별로 풀어보기 > 우선순위 큐 > 절댓값 힙https://www.acmicpc.net/problem/11286N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다.만약 x가 0이라면 배열에서 절댓값이 가장 작은 값을 출력하고 그 값을 배열에서 제거

단계별로 풀어보기 > 동적 계획법1 > 01타일https://www.acmicpc.net/problem/19041, 0 타일이 있다. 이 때, 0타일 2개가 붙어서 00타일이 되었다.N개의 타일로 만들 수 있는 타일 종류의 수를 출력하라.단, N인 모든 2진

단계별로 풀어보기 > 동적 계획법1 > 쉬운 계단 수https://www.acmicpc.net/problem/10844인접한 모든 자리의 차이가 1인 수를 계단 수라고 할 때, 길이가 N인 계단 수가 총 몇 개 있는지 구하라.단, 1,000,000,000으로

단계별로 풀어보기 > 이분 탐색 > 수 찾기https://www.acmicpc.net/problem/1920N개의 정수가 주어질 때, X라는 정수가 존재하는지 알아내라.이분 탐색을 이용하여 풀이한다.list의 size-1인 end, 처음 시작 인덱스인 0을 s

단계별로 풀어보기 > 이분 탐색 > 랜선 자르기https://www.acmicpc.net/problem/1654Upper Bound에 대해서 코드를 이해하는데 생각보다 오래 걸렸다.Upper Bound는 처음으로 거짓이 되는 최소 x를 찾는 방식으로, 조건이

https://www.acmicpc.net/problem/1992단계별로 풀어보기 > 분할 탐색 > 쿼드트리주어진 영상이 모두 0으로만 되어 있을 때 "0", 모두 1로만 되어있을 때 "1"로 출력된다.왼쪽 위, 오른ㅓ쪽 위, 왼쪽 아래, 오른쪽 아래에 해당하

단계별로 풀어보기 > 분할 정복 > 종이의 개수https://www.acmicpc.net/problem/1780N x N 크기의 행렬로 표현되는 종이 각 칸에는 -1,0,1 중 하나가 저장되어ㅣㅆ다.해당 행렬을 다음과 같은 규칙으로 적절한 크기로 자르려고 한다

단계별로 풀어보기 > 그래프와 순회 > 유기농 배추https://www.acmicpc.net/problem/1012배추흰지렁이는 배추근처에서 해충을 잡아 먹어서 배추를 보호한다.배추흰지렁이는 인접한 다른 배추로 이동할 수 있어서, 현재 배추 상하좌우의 배추까지

단계별로 풀어보기 > 동적 계획법1 > 파도반 수열https://www.acmicpc.net/problem/9461처음 풀 땐, 규칙이 5개 뒤와 1개 뒤 인줄 알았다. 그림을 보고 이해했기 때문에 그런 결과가 나왔으나 숫자를 다시 순차적으로 나열하니 2,3

단계별로 풀어보기 > 그래프와 순회 > DFS와 BFShttps://www.acmicpc.net/problem/1260DFS와 BFS를 구현하라.정점의 개수 N, 간선의 개수 M, 시작 정점의 개수 V가 주어질 때, 각각 DFS, BFS의 결과를 출력하라.인접

단계별로 풀어보기 > 누적 합 > 수열https://www.acmicpc.net/problem/2559온도를 측정한 전체 날짜의 수 N, 합을 구하기 위한 연속적인 날짜의 수 K가 주어질 때, 연속적인 K 일동안 온도의 합이 가장 큰 값을 계산하는 프로그램을

단계별로 풀어보기 > 동적 계획법 1 > 연속합https://www.acmicpc.net/problem/1912n개의 정수로 이루어진 수열이 주어질 때, 연속된 몇 개의 수를 선택하여 구할 수 있는 합 중 가장 큰 합을 구하라.dp\[]를 만들어서, i번째는

단계별로 풀어보기 > 그래프와 순회 > 미로 탐색https://www.acmicpc.net/problem/2178NxM 크기의 미로가 주어질 때, 1은 이동할 수 있는 칸, 0은 이동할 수 없는 칸을 나타낸다.(1,1) 에서 출발하여 (N,M)으로 이동할 때,

단계별로 풀어보기 > 우선순위 큐 > N번째 큰 수https://www.acmicpc.net/problem/2075NxN개의 수가 주어질 때, N 번째로 큰 수를 출력하라.해당 수들을 받아서, PriorityQueue에 삽입한다. 이 때, PriorityQue

단계별로 풀어보기 > 그래프와 순회 > 숨바꼭질https://www.acmicpc.net/problem/1697점 N에서 점 K까지 가는 최소 횟수를 구하라.단, 이동 할 때는 -1, +1, \*2 위치로 이동한다.bfs를 이용하여 풀이한다.방문 여부 및 횟수

단계별로 풀어보기 > 그래프와 순회 > 나이트의 이동https://www.acmicpc.net/problem/7562나이트의 시작 지점과 도착 지점이 주어질 때, 해당 위치로 이동하는 최소 이동 횟수를 출력하라.시간 복잡도는 최악일 경우 전체 배열을 다 지나가

단계별로 풀어보기 > 이분 탐색 > 나무 자르기https://www.acmicpc.net/problem/2805나무 M미터가 필요할 때, 나무 절단기를 H미터로 설정하여 나무를 잘라 필요한 나무를 마련한다. 이 때, 나무의 수와 필요한 나무 M미터의 수가 주어

단계별로 풀어보기 > 동적 계획법 1 > 계단 오르기https://www.acmicpc.net/problem/2579다음 3가지 규칙을 주의하여 계단을 올라갈 때, 얻을 수 있는 최댓값을 구하라.1\. 계단은 한 칸 or 두 칸을 오를 수 있다.2\. 연속된

단계별로 풀어보기 > 분할 정복 > 곱셈https://www.acmicpc.net/problem/1629자연수 A를 B번 곱한 수를 C로 나눈 나머지를 출력하라.지수법칙과 모듈러 공식를 이용하여 풀이한다.재귀를 이용하여 B를 절반씩 쪼개준다. 그렇게, 1이 되

단계별로 풀어보기 > 동적 계획법 1 > 포도주 시식https://www.acmicpc.net/problem/2156다음 규칙을 지켜서 마실 수 있는 포도주의 최대를 출력하라.1\. 포도주 잔을 선택하면 그 잔에 들어있는 포도주는 모두 마셔야 하고, 마신 후

단계별로 풀어보기 > 그래프와 순회 > 토마토https://www.acmicpc.net/problem/7576익은 토마토, 익지 않은 토마토가 있을 때, 익지 않은 토마토는 익은 토마토에 의해 하루 뒤 익은 토마토가 된다.익은 토마토를 1, 익지 않은 토마토를

연습문제 > 명령 프롬프트https://www.acmicpc.net/problem/1032검색 결과의 개수 N과 검색결과들이 주어 질 때, 공통된 문자는 출력하고, 공통되지 않은 문자는 '?'를 출력하라.배열에 첫번째 문자를 넣고, 2번째 문자부터 각 자리마다

단계별로 풀어보기 > 그래프와 순회 > 토마토(7569)https://www.acmicpc.net/problem/7569상자의 크기를 나타내는 두 정수 M,N 쌓아올려지는 상자의 수 H가 주어진다.그리고, 각 칸에는 토마토가 있거나 없는데, 토마토가 없는 경우

단계별로 풀어보기 > 그래프와 순회 > 뱀과 사다리 게임https://www.acmicpc.net/problem/1692810x10 크기(100칸)의 보드가 있다.주사위를 던져 1~6칸을 이동할 때, 이동한 칸에 사다리가 있는 경우 그 사다리와 이어져있는 칸으

단계별로 풀어보기 > 약수와 소수와 배수 2 > 창문 닫기https://www.acmicpc.net/problem/13909N개의 창문과 N명의 사람이 있을 때, i번째 사람은 i배수의 창문을 열려있으면 닫고, 닫혀있으면 연다.이 때, N명의 사람이 창문을 열

단계별로 풀어보기 > 약수와 소수와 배수 2 > 분수 합https://www.acmicpc.net/problem/17352줄에 거처 각각 분자 분모 가 주어질 때, 다음 두 수의 기약 분수를 분자 분모 형태로 출력하라.최대공약수를 구하여 각 분자와 분모를 최대