[백준/Python] 9095. 1, 2, 3 더하기
·
CODING_TEST
※ 문제https://www.acmicpc.net/problem/9095※ 문제 유형다이나믹 프로그래밍 (SILVER_3)※ 나의 풀이DP로 문제 해결4를 1, 2, 3으로 표현하는 방법 7가지1 + 1 + 1 + 11 + 1 + 21 + 2 + 12 + 1 + 12 + 21 + 33 + 15를 1, 2, 3으로 표현하는 방법4에서 1을 더하는 방법(7가지)3에서 2를 더하는방법2에서 3을 더하는 방법6을 1, 2, 3으로 표현하는 방법5에서 1을 더하는 방법4에서 2를 더하는 방법3에서 3을 더하는 방법dp[N] = dp[N-1] + dp[N-2] + dp[N-3]import sysT = int(sys.stdin.readline())case = []for i in range(T): case.app..
[백준/Python] 1463. 1로 만들기
·
CODING_TEST
※ 문제https://www.acmicpc.net/problem/1463※ 문제 유형다이나믹 프로그래밍 (SILVER_3)※ 나의 풀이DP로 문제 해결import sysN = int(sys.stdin.readline())dp = [0] * (N + 1)dp[1] = 0for i in range(2, N + 1): # 이전 index의 값 + 1(1을 뺀다는 규칙)으로 저장 dp[i] = 1 + dp[i - 1] # 3으로 나누어 떨어지면 3으로 나누고, dp[i] 중 최솟값으로 저장 if i % 3 == 0: dp[i] = min(dp[i], 1 + dp[i // 3]) # 2으로 나누어 떨어지면 2으로 나누고, dp[i] 중 최솟값으로 저장 if i % 2 ..
[백준/Python] 5525. IOIOI
·
CODING_TEST
※ 문제https://www.acmicpc.net/problem/5525※ 문제 유형문자열 (SILVER_1)※ 나의 풀이시간 복잡도를 고려하지 않고, index slicing을 통해 문제 해결 하였을 시, 50점import sysN = int(sys.stdin.readline())M = int(sys.stdin.readline())S = sys.stdin.readline()find_s = 'IOI' + 'OI' * (N-1)ans = 0idx = 0while idx 시간 복잡도를 고려하여, 인덱스 슬라이싱을 진행할 때, 중복된 IOI를 체크해야 하는 과정을 줄이기 위하여 다른 방안 채택투 포인터 알고리즘 고려import sysN = int(sys.stdin.readline())M = int(sys.st..
[프로그래머스/Python] 피보나치 수
·
CODING_TEST
※ 문제https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  ※ 문제 설명피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1F(3) = F(1) + F(2) = 1 + 1 = 2F(4) = F(2) + F(3) = 1 + 2 = 3F(5) = F(3) + F(4) = 2 + 3 = 5와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번..
[프로그래머스/Python] 교점에 별 만들기
·
CODING_TEST
※ 문제https://school.programmers.co.kr/learn/courses/30/lessons/87377 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   ※ 문제 설명Ax + By + C = 0으로 표현할 수 있는 n개의 직선이 주어질 때, 이 직선의 교점 중 정수 좌표에 별을 그리려 합니다.제한사항line의 세로(행) 길이는 2 이상 1,000 이하인 자연수입니다.line의 가로(열) 길이는 3입니다. line의 각 원소는 [A, B, C] 형태입니다. A, B, C는 -100,000 이상 100,000 이하인 정수입니다. 무수히 많은 교점이 생기는 직선 쌍은 주어지지 않습니다. A..
[프로그래머스/Python] 올바른 괄호
·
CODING_TEST
※ 문제https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   ※ 문제 설명괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어"()()" 또는 "(())()" 는 올바른 괄호입니다.")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다.'(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution ..
[프로그래머스/Python] 옹알이 (2)
·
CODING_TEST
※ 문제https://school.programmers.co.kr/learn/courses/30/lessons/133499 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ※ 문제 설명머쓱이는 태어난 지 11개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음과 네 가지 발음을 조합해서 만들 수 있는 발음밖에 하지 못하고 연속해서 같은 발음을 하는 것을 어려워합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.제한사항1 ≤ babbling의 길..
[프로그래머스/Python] [PCCE 기출문제] 10번 / 데이터 분석
·
CODING_TEST
※ 문제https://school.programmers.co.kr/learn/courses/30/lessons/250121 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   ※ 문제 설명AI 엔지니어인 현식이는 데이터를 분석하는 작업을 진행하고 있습니다. 데이터는 ["코드 번호(code)", "제조일(date)", "최대 수량(maximum)", "현재 수량(remain)"]으로 구성되어 있으며 현식이는 이 데이터들 중 조건을 만족하는 데이터만 뽑아서 정렬하려 합니다. 예를 들어 다음과 같이 데이터가 주어진다면 data = [[1, 20300104, 100, 80], [2, 20300804, 847, ..
[프로그래머스/Python] 기사단원의 무기
·
CODING_TEST
※ 문제https://school.programmers.co.kr/learn/courses/30/lessons/136798?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ※ 문제 설명숫자나라 기사단의 각 기사에게는 1번부터 number까지 번호가 지정되어 있습니다. 기사들은 무기점에서 무기를 구매하려고 합니다. 각 기사는 자신의 기사 번호의 약수 개수에 해당하는 공격력을 가진 무기를 구매하려 합니다. 단, 이웃나라와의 협약에 의해 공격력의 제한수치를 정하고, 제한수치보다 큰 공격력을 가진 무기를 구매해야 하는 기사는 협약기관에서 정한 공격력을 가지는 무기를 구매해야 합니다..
[프로그래머스/Python] 추억 점수
·
CODING_TEST
※ 문제https://school.programmers.co.kr/learn/courses/30/lessons/176963?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr ※ 문제 설명사진들을 보며 추억에 젖어 있던 루는 사진별로 추억 점수를 매길려고 합니다. 사진 속에 나오는 인물의 그리움 점수를 모두 합산한 값이 해당 사진의 추억 점수가 됩니다. 예를 들어 사진 속 인물의 이름이 ["may", "kein", "kain"]이고 각 인물의 그리움 점수가 [5점, 10점, 1점]일 때 해당 사진의 추억 점수는 16(5 + 10 + 1)점이 됩니다. 다른 사진 속 인물의 이름이..