Problem Solving/BOJ 17

[BOJ] 1500: 최대 곱 Solution

문제 소개 2020.03.02 기준, 실버 1티어 문제입니다. 엄청 엄청 간단한 문제입니다. (굳이 Solution을 올려야 하나 싶지만, 문제를 풀면 다 올리려고 하고 있어서 올리게 되었습니다.) 먼저, 문제를 풀 수 있는 아이디어부터 설명하고 코드를 설명하겠습니다. 문제 링크 https://www.acmicpc.net/problem/1500 1500번: 최대 곱 세준이는 정수 S와 K가 주어졌을 때, 합이 S인 K개의 양의 정수를 찾으려고 한다. 만약 여러개일 경우 그 곱을 가능한 최대로 하려고 한다. 가능한 최대의 곱을 출력한다. 만약 S=10, K=3이면, 3,3,4는 곱이 36으로 최대이다. www.acmicpc.net 아이디어 문제에서 주어진 S와 K 표기를 그대로 가져와 설명하겠습니다. 합이..

Problem Solving/BOJ 2020.03.02

[BOJ] 2830: 행성 X3 Solution

문제 소개 2020.03.02 기준, 골드 4티어 문제입니다. 처음에 이 문제를 접했을 때는 XOR 비트 연산과 관련이 있겠구나만 생각하면서 어렵다고 생각했습니다. 근데 한번 생각을 비틀고나니 골드 4티어?라는 티어가 이해가 안 갈 정도로 쉬워진 문제입니다. 문제 링크 https://www.acmicpc.net/problem/2830 2830번: 행성 X3 문제 상근이는 초등학교 졸업 여행으로 외계 행성 X3에 방문했었다. 이 행성에 사는 사람들의 이름은 모두 자연수이다. 행성의 거주민은 모두 서로를 알고 있다. 두 X3인은 그들의 친밀도를 자신의 이름을 이진수로 바꾸어서 계산한다. 두 이름을 이진수로 바꾸고, 자리수가 짧은 쪽을 기준으로 정렬한다. 이때, 두 이진수의 각 자리 아래에 두 자리가 같으면 ..

Problem Solving/BOJ 2020.03.02

[BOJ] 1334: 다음 팰린드롬 수 Solution

문제 소개 2020.03.01 기준, 실버2 티어 문제입니다. 조금의 생각만 하면 풀 수 있는 정도의 문제입니다. 문제 링크 https://www.acmicpc.net/problem/1334 1334번: 다음 팰린드롬 수 팰린드롬 수는 앞으로 읽어도, 뒤로 읽어도 같은 숫자이다. 101, 4, 6666와 같은 숫자는 팰린드롬 수이고, 10, 564, 15452와 같은 숫자는 아니다. 어떤 수 N이 주어질 때, N보다 큰 팰린드롬 수 중에서 가장 작은 수를 출력한다. www.acmicpc.net 아이디어 일단 처음에 낚시당할 만한 것은 주어지는 수보다 큰 숫자 중에 답이 있고, 그렇기 때문에 팰린드롬을 판단할 때 기존의 수에 1을 더하고 시작해야 한다는 것입니다. 그리고 시작한 수가 N자리 수라면 N자리 ..

Problem Solving/BOJ 2020.03.01

[BOJ] 1024: 수열의 합 Solution

문제 소개 2020.03.01 기준, 실버 3티어 문제입니다. 처음봤을 때, 쉽다고 생각하고 풀었는데, WA를 좀 받았습니다. (반례 찾기 정말 귀찮았습니다..) 먼저, 문제를 풀 수 있는 아이디어부터 설명하고 코드를 설명하겠습니다. 문제 링크 https://www.acmicpc.net/problem/1024 4889번: 안정적인 문자열 문제 여는 괄호와 닫는 괄호만으로 이루어진 문자열이 주어진다. 여기서 안정적인 문자열을 만들기 위한 최소 연산의 수를 구하려고 한다. 안정적인 문자열의 정의란 다음과 같다. 빈 문자열은 안정적이다. S가 안정적이라면, {S}도 안정적인 문자열이다. S와 T가 안정적이라면, ST(두 문자열의 연결)도 안정적이다. {}, {}{}, {{}{}}는 안정적인 문자열이지만, }{..

Problem Solving/BOJ 2020.03.01

[BOJ] 4889: 안정적인 문자열 solution

문제 소개 2020.02.24 기준, 실버 1티어 문제입니다.문제 분류는 기존에 주어져 있지 않았고, 제가 stack과 string으로 부여했습니다. 어떻게 보면 간단하면서 어떻게 보면 되게 이해가지 않을 수도 있는 풀이입니다. 먼저, 문제를 풀 수 있는 아이디어부터 설명하고코드를 설명하겠습니다. 문제 링크https://www.acmicpc.net/problem/48894889번: 안정적인 문자열문제 여는 괄호와 닫는 괄호만으로 이루어진 문자열이 주어진다. 여기서 안정적인 문자열을 만들기 위한 최소 연산의 수를 구하려고 한다. 안정적인 문자열의 정의란 다음과 같다. 빈 문자열은 안정적이다. S가 안정적이라면, {S}도 안정적인 문자열이다. S와 T가 안정적이라면, ST(두 문자열의 연결)도 안정적이다. ..

Problem Solving/BOJ 2020.02.24

[BOJ] 2018: 수들의 합 5 solution

문제 소개 2020.02.24 기준, 브론즈 1티어 문제입니다. 문제 분류는 수학입니다. 적당한 수학 규칙을 떠올리면 바로 해결할 수 있는 문제입니다. 먼저, 문제를 풀 수 있는 아이디어부터 설명하고 코드를 설명하겠습니다. 문제 링크 https://www.acmicpc.net/problem/2018 2018번: 수들의 합 5 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1≤N≤10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한다. 이때, 사용하는 자연수는 N이하여야 한다. 예를 들어, 15를 나타내는 방법은 15, 7+8, 4+5+6, 1+2+3+4+5의 4가지가 있다. 반면에 10을 나타내는 방법은 1..

Problem Solving/BOJ 2020.02.24

[BOJ] prefix array 문제 풀이

오늘은 prefix array와 관련된 실버 문제들의 풀이를 올려보겠습니다.(solved.ac 기준) 먼저 쉬웠던 것부터 설명을 시작해보겠습니다. (prefix 이론에 관한것은 나중에 올려보겠습니다.) BOJ 1639: 행운의 티켓 https://www.acmicpc.net/problem/1639 1639번: 행운의 티켓 첫째 줄에 문자열 S가 주어진다. 문자열 S는 1보다 크거나 같고, 9보다 작거나 같은 수만 입력으로 들어오며, 문자열의 길이는 100보다 작거나 같은 자연수이다. www.acmicpc.net 1639번 문제같은 경우, 사실 prefix array문제라고 하기엔 너무나 범위가 작습니다. 물론 prefix array를 활용해서 풀면 더 빠른 시간복잡도를 가진 풀이로 해결이 가능합니다. 하..

Problem Solving/BOJ 2020.02.23