Problem Solving
-
[백준] 11723 집합Problem Solving/Baekjoon Online Judge 2020. 4. 29. 16:52
✔️ 문제 링크 https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net ✔️ 문제 이해 1. 조건에 따른 구현을 하면된다. ✔️ 설계 1. check 배열을 이용해서 풀 수 있고, set으로도 풀 수 있다. 2. 하지만 비트마스크로 간단히 풀 수 있다. ✔️ 문제 회고 1. 비트마스크 연산에 대한 개념을 알고 있으면 매우 쉽게 풀 수 있다. 👨🏻💻 소스 코드 #include #include #include #include #include using namespace std; int m..
-
[백준] 9375 패션왕 신해빈Problem Solving 2020. 4. 20. 22:11
✔️ 문제 링크 https://www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈 문제 해빈이는 패션에 매우 민감해서 한번 입었던 옷들의 조합을 절대 다시 입지 않는다. 예를 들어 오늘 해빈이가 안경, 코트, 상의, 신발을 입었다면, 다음날은 바지를 추가로 입거나 안경대신 렌즈를 착용하거나 해야한다. 해빈이가 가진 의상들이 주어졌을때 과연 해빈이는 알몸이 아닌 상태로 며칠동안 밖에 돌아다닐 수 있을까? 입력 첫째 줄에 테스트 케이스가 주어진다. 테스트 케이스는 최대 100이다. 각 테스트 케이스의 첫째 줄에는 해빈이가 가진 의상의 수 www.acmicpc.net ✔️ 문제 이해 1. N개의 의상과 그 종류가 주어진다. 2. 이 때 알몸이 아닌 상태로 의상을 입을 수 있는 경우의..
-
[백준] 14391 종이조각Problem Solving/Baekjoon Online Judge 2020. 4. 20. 22:03
✔️ 문제 링크 https://www.acmicpc.net/problem/14391 14391번: 종이 조각 영선이는 숫자가 쓰여 있는 직사각형 종이를 가지고 있다. 종이는 1×1 크기의 정사각형 칸으로 나누어져 있고, 숫자는 각 칸에 하나씩 쓰여 있다. 행은 위에서부터 아래까지 번호가 매겨져 있고, 열은 왼쪽부터 오른쪽까지 번호가 매겨져 있다. 영선이는 직사각형을 겹치지 않는 조각으로 자르려고 한다. 각 조각은 크기가 세로나 가로 크기가 1인 직사각형 모양이다. 길이가 N인 조각은 N자리 수로 나타낼 수 있다. 가로 조각은 왼쪽부터 오른쪽까지 수를 이어 붙인 www.acmicpc.net ✔️ 문제 이해 1. 열 또는 행으로 조각을 나눴을 때, 각 조각에 써있는 숫자들의 최대 합을 구하는 문제이다. 2...
-
[백준] 1406 에디터Problem Solving/Baekjoon Online Judge 2020. 4. 16. 20:57
✔️ 문제 링크 https://www.acmicpc.net/problem/1406 1406번: 에디터 문제 한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다. 이 편집기에는 '커서'라는 것이 있는데, 커서는 문장의 맨 앞(첫 번째 문자의 왼쪽), 문장의 맨 뒤(마지막 문자의 오른쪽), 또는 문장 중간 임의의 곳(모든 연속된 두 문자 사이)에 위치할 수 있다. 즉 길이가 L인 문자열이 현재 편집기에 입력되어 있으면, 커서가 위치할 수 있는 곳은 L+1가지 경우가 www.acmicpc.net ✔️ 문제 이해 1. 주어진 문자열에 대해 커서 관련 명령어를 수행한 결과를 출력한다. ✔️ 설계 1. 이 문제는 스택을 활..
-
[백준] 3980 선발명단Problem Solving/Baekjoon Online Judge 2020. 4. 16. 19:22
✔️ 문제 링크 https://www.acmicpc.net/problem/3980 3980번: 선발 명단 문제 챔피언스 리그 결승전을 앞두고 있는 맨체스터 유나이티드의 명장 퍼거슨 감독은 이번 경기에 4-4-2 다이아몬드 전술을 사용하려고 한다. 오늘 결승전에 뛸 선발 선수 11명은 미리 골라두었지만, 어떤 선수를 어느 포지션에 배치해야 할지 아직 결정하지 못했다. 수석코치 마이크 펠란은 11명의 선수가 각각의 포지션에서의 능력을 0부터 100가지의 정수로 수치화 했다. 0은 그 선수가 그 포지션에 적합하지 않다는 뜻이다. 이때, 모든 선수의 포지션을 정하는 www.acmicpc.net ✔️ 문제 이해 1. 11명의 축구팀을 구성해야한다. 2. 11명의 선수의 각각의 포지션에 대한 능력치가 0부터 100..
-
[백준] 1806 부분합Problem Solving/Baekjoon Online Judge 2020. 4. 16. 15:56
✔️ 문제 링크 https://www.acmicpc.net/problem/1806 1806번: 부분합 문제 10,000 이하의 자연수로 이루어진 길이 N짜리 수열이 주어진다. 이 수열에서 연속된 수들의 부분합 중에 그 합이 S 이상이 되는 것 중, 가장 짧은 것의 길이를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. 출력 첫째 줄에 구하고자 하는 최소의 길 www.acmicpc.net ✔️ 문제 이해 1. 10,000 이하의 자연수로 이루어진 길이 N짜리 수열이 있다. 2. 이 수열에서 연속된 수들의 부분..
-
[백준] 1038 감소하는 수Problem Solving/Baekjoon Online Judge 2020. 4. 15. 16:53
✔️ 문제 링크 https://www.acmicpc.net/problem/1038 1038번: 감소하는 수 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 출력하는 프로그램을 작성하시오. 0은 0번째 감소하는 수이고, 1은 1번째 감소하는 수이다. 만약 N번째 감소하는 수가 없다면 -1을 출력한다. www.acmicpc.net ✔️ 문제 이해 1. 감소하는 수들은 아래와 같다. [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ... 20, 21 ... 30, 31, 32 ... 40, 41, 42, 43 .... 9,876,543,21..
-
정답을 위해 신경써야 할 것들Problem Solving/Memo 2020. 4. 9. 14:35
❗️ 변수 중복을 조심하자 ◾️ 지역변수, 전역변수, 매개변수 중복을 유의하자 ❗️ 배열 범위를 넘어서지 말자 ◾️ 할당된 배열 범위를 넘어서는 접근을 하지말자 ❗️ 입출력 형식을 유의하자 ◾️ 정확한 형태로 입력을 받고, 정확한 형태로 정답 출력을 하자 ❗️ 문제를 정확히 읽자 ◾️ 공격적인 자세로 문제를 이해하자 ◾️ 시간복잡도 공간복잡도 철저히 체크하자 ◾️ 값의 범위 조건 철저히 체크 ( ex int 값을 초과하는 결과는 long long 타입 변수에 담아야 한다.) ❗️ 중복된 코드를 피하자 ◾️ 중복된 코드가 있으면 실수 발생확률이 높아진다. ◾️ 간결한 코드를 유지함으로써 가독성을 높이고, 디버깅을 용이하게 하자 ❗️ 작성한 코드에 대해 항상 의심하자 ◾️ 한 번에 답을 맞출 확률은 낮음. ..