Computer Science/코딩테스트 문제 풀이
-
https://www.acmicpc.net/workbook/by/BaaaaaaaaaaarkingDog https://www.acmicpc.net/problem/11727 문제2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.아래 그림은 2×17 직사각형을 채운 한가지 예이다.입력첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)출력첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다.예제 입력 1 복사2예제 출력 1 복사3예제 입력 2 복사8예제 출력 2 복사171예제 입력 3 복사12예제 출력 3 복사2731 잊지 말자 예외처리 def solution(N): dp = [0]*(N+1) dp[1]..
[백준][파이썬][DP] 11727번: 2×n 타일링 2https://www.acmicpc.net/workbook/by/BaaaaaaaaaaarkingDog https://www.acmicpc.net/problem/11727 문제2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.아래 그림은 2×17 직사각형을 채운 한가지 예이다.입력첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)출력첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다.예제 입력 1 복사2예제 출력 1 복사3예제 입력 2 복사8예제 출력 2 복사171예제 입력 3 복사12예제 출력 3 복사2731 잊지 말자 예외처리 def solution(N): dp = [0]*(N+1) dp[1]..
2024.09.23 -
문제집: https://www.acmicpc.net/workbook/by/BaaaaaaaaaaarkingDog 문제: https://www.acmicpc.net/problem/2193 문제0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다.이친수는 0으로 시작하지 않는다.이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다.예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 0010101이나 101101은 각각 1, 2번 규칙에 위배되므로 이친수가 아니다.N(1 ≤ N ≤ 90)이 주어졌을 때, N자리 이..
[백준][파이썬][DP] 2193번: 이친수문제집: https://www.acmicpc.net/workbook/by/BaaaaaaaaaaarkingDog 문제: https://www.acmicpc.net/problem/2193 문제0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다.이친수는 0으로 시작하지 않는다.이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다.예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 0010101이나 101101은 각각 1, 2번 규칙에 위배되므로 이친수가 아니다.N(1 ≤ N ≤ 90)이 주어졌을 때, N자리 이..
2024.09.23 -
문제집: https://www.acmicpc.net/workbook/by/BaaaaaaaaaaarkingDog 문제: https://www.acmicpc.net/problem/9251 LCS 문제 모음 : https://www.acmicpc.net/workbook/view/5080LCS (최장 공통 부분 수열, Longest Common Subsequence)정의: LCS는 두 개의 문자열에서 순서를 유지하며 공통적으로 나타나는 가장 긴 부분 수열을 찾는 문제입니다.목표: 두 문자열에서 순서대로 등장하는 공통 부분 수열 중 가장 긴 것을 찾는 것. 예시두 문자열 ABCBDAB와 BDCAB에서 LCS는 BCAB이며, 길이는 4입니다.순서가 유지되어야 하는구나 ABCBDAB BDCAB LCS의 동작 방식..
[백준][파이썬][DP][LCS] 9251번: LCS문제집: https://www.acmicpc.net/workbook/by/BaaaaaaaaaaarkingDog 문제: https://www.acmicpc.net/problem/9251 LCS 문제 모음 : https://www.acmicpc.net/workbook/view/5080LCS (최장 공통 부분 수열, Longest Common Subsequence)정의: LCS는 두 개의 문자열에서 순서를 유지하며 공통적으로 나타나는 가장 긴 부분 수열을 찾는 문제입니다.목표: 두 문자열에서 순서대로 등장하는 공통 부분 수열 중 가장 긴 것을 찾는 것. 예시두 문자열 ABCBDAB와 BDCAB에서 LCS는 BCAB이며, 길이는 4입니다.순서가 유지되어야 하는구나 ABCBDAB BDCAB LCS의 동작 방식..
2024.09.20 -
관련 문제들 https://www.acmicpc.net/problem/5502 문제팰린드롬이란 대칭 문자열이다. 즉, 왼쪽에서 오른쪽으로 읽었을때와 오른쪽에서 왼쪽으로 읽었을때 같다는 얘기다. 당신은 문자열이 주어졌을때, 최소 개수의 문자를 삽입하여 팰린드롬이 되게 되는 문자의 개수를 구하는 프로그램을 작성하여라.예제에서는, 2개의 문자를 삽입하여 팰린드롬이 된다. "Ab3bd"는 "dAb3bAd" 혹은 "Adb3bdA" 로 바뀔 수 있다. 하지만, 2개 미만의 문자를 삽입해서는 팰린드롬이 될 수 없다.입력첫 번째 줄에는 문자열의 길이 N (3 ≤ N ≤ 5000)이 주어진다. 두 번째 줄에는 길이가 N인 문자열이 주어진다. 문자열은 대문자 'A'-'Z'와 소문자 'a'-'z', 숫자 '0'-'9'로 ..
[백준][파이썬][팰린드롬][LCS] 5502번: 팰린드롬관련 문제들 https://www.acmicpc.net/problem/5502 문제팰린드롬이란 대칭 문자열이다. 즉, 왼쪽에서 오른쪽으로 읽었을때와 오른쪽에서 왼쪽으로 읽었을때 같다는 얘기다. 당신은 문자열이 주어졌을때, 최소 개수의 문자를 삽입하여 팰린드롬이 되게 되는 문자의 개수를 구하는 프로그램을 작성하여라.예제에서는, 2개의 문자를 삽입하여 팰린드롬이 된다. "Ab3bd"는 "dAb3bAd" 혹은 "Adb3bdA" 로 바뀔 수 있다. 하지만, 2개 미만의 문자를 삽입해서는 팰린드롬이 될 수 없다.입력첫 번째 줄에는 문자열의 길이 N (3 ≤ N ≤ 5000)이 주어진다. 두 번째 줄에는 길이가 N인 문자열이 주어진다. 문자열은 대문자 'A'-'Z'와 소문자 'a'-'z', 숫자 '0'-'9'로 ..
2024.09.20 -
관련 문제들 문제:https://www.acmicpc.net/problem/2079 이 정도 난이도는 똑같은 문제가 나와도 못풀겠다. 더 공부하지 말고 이 정도 난이도는 그냥 넘어가자 문제팰린드롬(palindrome)이란 앞에서부터 읽으나 뒤에서부터 읽으나 같은 단어를 말한다. 'aba'나 'a'와 같은 단어는 팰린드롬이며, 'abaccbcb'나 'anavolimilana'와 같은 단어는 팰린드롬이 아니다.만일 어떤 단어가 팰린드롬이 아니라면, 그 단어는 여러 개의 팰린드롬으로 나누어질 수 있을 것이다. 단어가 주어졌을 때 이를 여러 개의 팰린드롬으로 나누되, 나누어진 팰린드롬의 개수가 최소가 되도록 나누려고 한다.예를 들어 abaccbcb라는 문자는 aba, cc, bcb와 같이 세 개의 문자열로 나누..
[백준][파이썬][팰린드] 2079번: 팰린드롬관련 문제들 문제:https://www.acmicpc.net/problem/2079 이 정도 난이도는 똑같은 문제가 나와도 못풀겠다. 더 공부하지 말고 이 정도 난이도는 그냥 넘어가자 문제팰린드롬(palindrome)이란 앞에서부터 읽으나 뒤에서부터 읽으나 같은 단어를 말한다. 'aba'나 'a'와 같은 단어는 팰린드롬이며, 'abaccbcb'나 'anavolimilana'와 같은 단어는 팰린드롬이 아니다.만일 어떤 단어가 팰린드롬이 아니라면, 그 단어는 여러 개의 팰린드롬으로 나누어질 수 있을 것이다. 단어가 주어졌을 때 이를 여러 개의 팰린드롬으로 나누되, 나누어진 팰린드롬의 개수가 최소가 되도록 나누려고 한다.예를 들어 abaccbcb라는 문자는 aba, cc, bcb와 같이 세 개의 문자열로 나누..
2024.09.20 -
관련 문제들 https://www.acmicpc.net/problem/10174 문제팰린드롬은 앞으로 읽으나 뒤로 읽으나 똑같은 단어나 숫자들을 말한다. 일반적으로 대소문자를 구분하지 않지만, 공백은 구분한다.다음은 팰린드롬의 예시이다.AnnaHarrahAroraNat tan9998999123 321$$$&&$$$모든 라인에 대해 팰린드롬인지 아닌지를 구분하는 프로그램을 작성하시오.입력첫째 줄에 테스트 케이스의 개수 n이 주어진다.각 테스트 케이스는 한 줄의 텍스트로 이루어져있으며, 최대 18글자로 이루어져 있다. 비어있는 줄은 없다.출력각 테스트 케이스에 대해 정답을 출력한다.팰린드롬일 경우 "Yes"를 출력하고, 그렇지 않을 경우 "No"를 출력한다.예제 입력 1 복사6Nat tanPalind..
[백준][파이썬][팰린드] 10174번: 팰린드롬관련 문제들 https://www.acmicpc.net/problem/10174 문제팰린드롬은 앞으로 읽으나 뒤로 읽으나 똑같은 단어나 숫자들을 말한다. 일반적으로 대소문자를 구분하지 않지만, 공백은 구분한다.다음은 팰린드롬의 예시이다.AnnaHarrahAroraNat tan9998999123 321$$$&&$$$모든 라인에 대해 팰린드롬인지 아닌지를 구분하는 프로그램을 작성하시오.입력첫째 줄에 테스트 케이스의 개수 n이 주어진다.각 테스트 케이스는 한 줄의 텍스트로 이루어져있으며, 최대 18글자로 이루어져 있다. 비어있는 줄은 없다.출력각 테스트 케이스에 대해 정답을 출력한다.팰린드롬일 경우 "Yes"를 출력하고, 그렇지 않을 경우 "No"를 출력한다.예제 입력 1 복사6Nat tanPalind..
2024.09.20