[프로그래머스/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)점이 됩니다. 다른 사진 속 인물의 이름이..
[프로그래머스/Python] [1차] 비밀지도
·
CODING_TEST
※ 문제https://school.programmers.co.kr/learn/courses/30/lessons/17681?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  ※ 문제 설명네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다.지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 “공백”(“ “) 또는 “벽”(“#”) 두 종류로 이루어져 있다.전체 지도는 두 장의 지도를 겹쳐서..
[백준/Python] 2606. 바이러스
·
CODING_TEST
※ 문제https://www.acmicpc.net/problem/2606 ※ 문제 유형그래프 이론, 그래프 탐색, 너비 우선 탐색, 깊이 우선 탐색(SILVER_3)※ 나의 풀이인접 리스트를 통한 그래프 생성BFS(너비 우선 탐색)import sysfrom collections import dequeN = int(sys.stdin.readline()) # 정점(Vertex)(노드) 수M = int(sys.stdin.readline()) # 입력 그래프 쌍 수graph = { i :[] for i in range(N + 1) }# print(graph) # {0: [], 1: [], 2: [], 3: [], 4: [], 5: [], 6: [], 7: []}for i in range(M): vertex..
[백준/Python] 2910. 빈도 정렬
·
CODING_TEST
※ 문제https://www.acmicpc.net/problem/2910 ※ 문제 유형자료구조, 정렬, 해시를 사용한 집합과 맵(SILVER_3)※ 나의 풀이from collections import Counter 활용Counter(list).most_common()을 통하여 빈도 순으로 정렬을 하여 list.sort(key = lambda x:counter[x], reverse = True)를 활용해 보았지만, 개수가 같은 요소는 올바르게 적용이 되지 않았고, 정렬 2순위로 list.index()활용하는 방법보다 Counter를 활용하는 방법으로 most_common()의 빈도 수는 개수가 같은 요소는 처음 발견된 순서를 유지하는 특성을 활용하여, 루프를 통해 [key] * val을 answer에 추가..