해당 문제로 이동하기N개의 정수로 이루어진 수열이 있을 때, 크기가 양수인 부분수열 중 수열의 원소를 다 더한 값이 S가 되는 경우의 수를 출력하는 문제입니다. 더 쉽게 이해해보면 부분수열을 선택했을 때 S값이 나올 수 있는 경우의 수를 체크하라는 의미로 받아들이셔도
문제 출처! 문제 출처 : 10810번: 공넣기 문제 이해하기 도현이는 바구니를 총 N개 가지고 있습니다. 이 말은 1 ~ N개의 바구니를 소유하고 있다는 이야기와 동일합니다. 또한 1번부터 N번까지 번호가 적힌 공을 많이 가지고 있습니다. Ex) N = 5 --
문제 출처 : 10813번: 공 바꾸기아마 앞서 풀었던 공 넣기를 이해하셨다면 이번 문제는 어렵지 않을겁니다.앞서 풀었던 공 넣기와는 다르게 1번부터 N번까지의 바구니에 적힌 번호와 같은 공이 1개씩 들어 있고, M번 공을 바꾸는 로직을 만들면 됩니다.배열에서 2개의
문제 출처 : 2563번: 색종이가로, 세로의 크기가 각각 100인 정사각형 도화지 위에 가로, 세로가 각각 10인 정사각형 모양의 색종이를 붙인다.겹치는 부분이 있다면 겹치는 부분까지 고려해서 색종이 영역의 넓이를 구하면 되는 문제입니다.입력으로는 각 색종이를 놓는
문제 출처 : 2501번: 약수 구하기자연수 p와 q가 주어졌을 때 p를 q로 나누었을 때 나머지가 0이면 q는 p의 약수이다.더 쉽게 이야기하면 자연수 6의 약수를 순서대로 구하라는 의미와 동일합니다.6의 약수들 중에서도 K번째의 수를 결과로 출력해주면 되는 문제입니
문제 출처 : 2501번: 약수 구하기지문이 좀 길어서 이해하기까지 시간이 좀 오래 걸렸다. 정리하자면 입력으로 들어온 board 배열을 기준으로 틱택토 규칙에 맞게 게임을 진행할 수 있냐 없냐를 따지는 문제이다.문제에 주어진 틱택토 규칙은 간단하다.선공은 O, 후공은
문제 출처 : 이상한 문자 만들기문제를 조금 더 쉽게 풀어서 작성해보면, 공백문자로 구분되어 있는 단어들 입력으로 들어온다각 단어의 짝수번째는 대문자, 홀수번째는 소문자로 변환 (공백 해당 X)각 단어별로 대/소문자 치환 기준은 인덱스 값을 기준으로 나눈다.문제에 주어
문제 출처 : 최소직사각형다양한 모양과 크기의 명함을 모두 수납할 수 있으면서 동시에 크기는 최소한의 사이즈로 제작해야하는 문제이다.주어진 입출력과 문제에 나와있는 규칙을 바탕으로 관찰을 해보면 4가지 정도가 나왔다.가로 \* 세로 값 중 가장 큰 값은 아니다.마찬가지
문제 출처 : 이상한 문자 만들기숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p의 길이와 같은 부분 문자열을 만든 후, p보다 작거나 같은지 판별하고 그 횟수를 출력해주면 된다.문제에 주어진 입출력 단어를 위 문제를 이해해 보면t = "314592" p = "
문제 출처 문제 출처 : 푸드 파이트 대회 문제 이해하기 음식을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로 다른 선수는 제일 오른쪽에 있는 음식부터 순서대로 먹는 방식, 이때 물은 중앙에 배치하며 물을 먼저 먹는 사람이 승리한다. 주요 조
최초 코드 개선된 코드
문제 출처 : 폰켓몬지금까지 풀었던 문제들 중 지문이 조금 긴 문제이다. 하지만 잘 읽어보면 어렵지 않게 풀 수 있다.연구실에 있는 N마리의 폰켓몬 중 N/2 마리를 가져갈 수 있는데, 이때 종류에 중복되지 않고 최대한으로 가져갈 수 있는 폰켓몬의 수를 구하면 된다.문
문제 출처 : 모의고사문제를 읽어보면 알겠지만, 이해하기 위해 굉장히 많은 노력이 필요로 하는 문제는 아니다. 1번 문제부터 마지막 문제까지의 정답이 순서대로 담긴 배열 answer과 1번 수포자가 찍는 방식, 2번 수포자가 찍는 방식, 3번 수포자가 찍는 방식을 다
문제 출처 : 소수 찾기1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수이다.문제 입출력 예시를 보면 알겠지만 n까지 포함시켜야 한다.제한 조건을 읽지 않은 상태에서 단순히 소수를 구하는 알고리즘을 구현했을 때, 시간 초과 문제로 테스트를 통과하지 못하
문제 출처 : 소수 찾기문제 지문 자체는 이해하기가 쉬운 문제이다. 짧고 쉽게 풀어서 쓰면 해설진들은 선수들이 자기 앞에 선수를 추워할 때 추월한 선수의 이름을 부른다는 것이다. 예를 들어 "철수", "영희", "짱구" 순으로 달리고 있을 때 해설진이 "영희"라는 이름
문제 출처 : 덧칠하기학교에 페인트가 칠해진 길이가 n미터인 벽이 있다. 중간 중간 이벤트나 행사로 인해 n미터인 벽에 칠해진 페인트가 벗겨지는 일이 발생한다. 학교에서는 예산을 아끼기 위해 벽 전체를 페인트를 칠하는 것이 아닌 1미터 간격으로 n개의 구역을 나누고 왼
문제 출처 : 기사단원의 무기숫자나라 기사단의 각 기사는 1번부터 number까지 번호가 저장되어 있다. 즉 1번 기사 2번 기사...number번 기사까지 있다는 이야기이다.각 기사는 자기 번호에 해당하는 수의 약수의 갯수와 동일한 공격력을 가진 무기를 가질 수 있다
문제 출처 : 숫자 짝궁두 정수 x,y가 주어졌을 때 임의의 자리에서 공통으로 나타나는 정수들을 이용해서 만들 수 있는 가장 큰 정수를 두 수의 짝궁이라고 한다. 더 쉽게 이야기하면 문자열 형태로 주어진 두 정수에 존재하는 수를 추출해서 가장 큰 수를 만들어야 하는 문
문제 출처 : 옹알이(2)"aya", "ye", "woo", "ma" 네 가지 발음과 네 가지 발음을 조합해서 만들 수 있는 발음인 경우만 counting 해주고, 그 외 단어가 연속해서 나온다거나 네 가지 발음을 제외한 단어가 나온 경우는 counting 하지 않는다
백준 N과 M 시리즈 문제를 풀면서 순열과 조합이 너무 헷갈려서 간단하게 정리하고자 글을 작성했다.조합은 순서가 상관없는 모임을 의미하고, 순서가 상관 없기 때문에 {1, 2, 3}, {1, 3, 2}, {2, 1, 3} 모두 같은 결과로 취급한다.순서가 상관없기 때문
문제 출처 : 조합N = 100, M = 6 경우일 때 nCm 를 수식으로 나타내어 결과값인 1192052400 를 출력하는 문제조합의 수식만 알면 문제 이해가 어렵지 않았을 것이다.어떤 방법으로 풀지 먼저 생각을 해보자조합 공식을 이용하여 N! / M!(N-M)! 공
문제 출처 : 최대공약수두 양의 정수 A와 B의 최대공약수를 계산하는 문제이다.A와 B의 최대공약수를 구하는 문제이다. 하지만 순수히 A와 B의 값을 바로 알려주는 문제는 아니다N개의 수와 M개의 수가 주어졌을 때, N개의 수를 곱하면 A가 되고 M개의 수를 곱하면 B
문제 출처 : 골드바흐 파티션짝수 N이 주어졌을 때, 골드바흐 파티션의 개수를 구하는 문제이다. 이때 두 소수의 순서가 달라도 하나의 파티션으로 취급한다.두 소수의 순서가 달라도 하나의 파티션으로 취급한다는 이야기는8를 예로 들어보면 8 = 3 + 5 = 5 + 3 두
문제 출처 : 괄호입력으로 주어진 괄호가 올바르게 구성된 괄호 문자열인지 아닌지를 판별하는 문제이다.올바르게 구성된 괄호 문자열이 어떤 형식으로 들어오는지를 확인할 필요가 있다.여기서 올바르게 구성된 괄호란? 한 쌍의 괄호 기호로 구성되어 있는지를 의미한다.(( ->
문제 출처 : 제로입력으로 주어진 K만큼 정수 1개씩 입력이 되는데 이때 0이 입력된 경우 가장 최근에 입력된 숫자를 하나씩 빼고, 최종적으로 전체 수의 합을 구하는 문제이다.문제에 나와있는 예제 2를 시뮬레이션 해보면이 문제는 스택 자료구조를 활용하여 풀 예정이다.K
문제 출처 : CyclicRotationN개의 정수로 구성된 배열 A가 주어집니다. 배열 회전은 각 요소가 하나의 인덱스에 의해 오른쪽으로 이동되고 배열의 마지막 요소가 첫 번째 위치로 이동됨을 의미합니다. 예를 들어, 배열 A = 3, 8, 9, 7, 6의 회전은 6
세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다.말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까
인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다.연구소는 크기가 N×M인 직사각형으로 나타낼 수 있으며, 직사각형은 1×1 크기의 정사각형으로 나누어
N개의 정수 A1, A2, …, AN이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오.첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A1, A2, …, AN이 주어진다. 다음 줄에는 M(1
숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오.첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N
부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어 놓았다. 각각의 칸은 (r, c)로 나타내며, r은 가장 위에서부터 떨어진 칸의 개수, c는 가장 왼쪽으로부터 떨어진 칸의 개수이다
문제 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임은 NxN 정사각 보드위에서 진행되고, 몇몇 칸에는 사과가 놓여져
드래곤 커브는 다음과 같은 세 가지 속성으로 이루어져 있으며, 이차원 좌표 평면 위에서 정의된다. 좌표 평면의 x축은 → 방향, y축은 ↓ 방향이다.시작 점시작 방향세대0세대 드래곤 커브는 아래 그림과 같은 길이가 1인 선분이다. 아래 그림은 (0, 0)에서 시작하고,
크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸, 왼쪽에서부터 c번째 칸을 의미한다. r과 c는 1부터