알고리즘99 프로그래머스 Lv1 [PCCE 기출문제] 10번 / 데이터 분석 (python) [PCCE 기출문제] 10번 / 데이터 분석 풀이 문제를 풀었는데 푼 방식은 맞았지만, ext까지 고려해야하는 것을 잊어서, 2번인가 완전실패했다. 왜 안되지 하고 다시 읽었더니 ext를 사용해야하는 코드를 작성안했다. 아래처럼 풀었다. 1. data를 for문을 돌려서 그 안에 있는 값들 중 ext의 val_ext에 해당되는 것들만 추출해서 tmp_data에 입력했다. 1-1. 이 때, 각 ext가 다르므로 if문을 작성하여 걸러주는 작업을 했다. 만약 더 조건이 길어졌다면 if가 아닌 for문을 사용했을 수도 있을 듯 하다. 2. sorted()를 이용해서 tmp_data를 sort_by에 따라 정렬하기 위해 sorted(, key=lambda x: x[])를 사용했다. 여기서도 sort_by의 종류.. 2024. 2. 1. 프로그래머스 Lv1 [PCCE 기출문제] 9번 / 이웃한 칸 (python) [PCCE 기출문제] 9번 / 이웃한 칸 풀이 어려운 문제는 아니다. 반복문만 쓸 줄 알면 바로 풀 수 있다. 1. 우선 board가 주어지므로 이를 활용한다. 또한 board와 board [n]의 길이는 같음을 인지. 2. 문제에서 적힌대로만 풀어도 문제없지만, 난 내 방식대로 dr, dc를 만들어서 상하좌우로 돌아가는 것을 이용했다. 이때 h가 dr과 w가 dc와 연결된다. 3. 상하좌우 4개이므로 for문을 4까지 반복하면서 각 dr[0]~dr[3], dc [0]~dc [3]을 이용하여, 찾으려는 board의 상, 하, 좌, 우에 같은 색이 있는지 확인한다. 3-1. 이 때, dr과 dc를 사용하다 범위를 벗어나게 되면 런타임에러나 인덱스 아웃이 뜨기에 찾는 범위를 0 2024. 2. 1. 프로그래머스 스킬체크 레벨 1 통과해따리 프로그래머스 스킬체크 레벨 1 통과해따리 프로그래밍 입문자를 위한 쉬운 수준이라고 하지만 평균 점수가 44.4여서 졸고 있었는데, 다행히 아주 손쉽게는 아니고 잠깐 버벅거렸지만, 금방 풀고, 100점으로 통과해따리. 신난다리. 더 많이 공부하고, 프로그래밍 초급자를 위한 기초 수준이라는 레벨 2도 합격해야지~~ 2024. 1. 31. 프로그래머스 Lv2 카펫(python) 카펫 풀이 갈색과 노란색의 2가지 색으로 이루어진 카펫의 크기를 구해야 한다. 노란색은 실제로 카펫의 세로 2칸, 가로 2칸을 제외한 길이의 곱 면적이고, 갈색은 노란색을 제외한 즉, 테두리 면적이다. 이를 이용해서 풀이를 하니 다음과 같다. 1. 전체면적 구하기(갈색+노란색) 2. for문을 루트 면적으로 해서 정사각형이 되었을 때 길이까지를 확인하며, 곱하기 면적 중 높이를 먼저 확인하고 이를 바탕으로 너비를 구한다. 3. 구한 높이와 너비를 이용해 height width - brown == (height - 2) (width - 2) 라면 [width, height]로 반환 # 갈색과 노란색의 갯수만으로 카펫의 크기를 구해야한다. def solution(brown, yellow): area = br.. 2024. 1. 31. 백준 브론즈3 2490. 윷놀이 (python) 윷놀이 풀이 윷놀이 도개걸윷모를 ABCDE로 표현해야 한다. 배와 등의 개수에 따라서 다른 것을 인지하고, 이를 이용하면 된다. 배: 0, 등:1로 표현되었다. 1. 1의 개수에 따른 dictionary작성 2. sum()을 이용한 1의 개수 확인 3. 출력 한번 switch_case를 python에서 사용할 수는 없을까 해서 아래처럼 작성이라도 해봤다. # 등1 걸 C # 등2 개 B # 등3 도 A # 등4 모 E # 등0 윷 D def switch_case(value): return { 1: 'C', 2: 'B', 3: 'A', 4: 'E', }.get(value, 'D') for _ in range(3): yoot = list(map(int, input().split())) yootName = '.. 2024. 1. 31. 프로그래머스 Lv2 N개의 최소공배수 (python) N개의 최소공배수 풀이 최소공배수를 구해야 하는 문제이다. 다만 2개의 수에서 최소공배수를 구하는 것이 아닌 N개의 수에서 최소공배수를 구해야 한다. N개라고 별반 다르지 않으니 최소공배수 공식을 그대로 이용해 주었다. 1. 유클리드 호제법을 이용해 최대공약수 함수와 최소공배수 함수를 만들어준다. 2. 입력받은 리스트의 길이가 1보다 크다면 arr [0]와 arr [1]의 최소공배수를 구해서 arr [0]에 입력하고 arr [1]은 제외시킨다. 3. 2를 반복하고, 그 결과 arr의 길이가 1이 된다면, arr [0]의 값을 return 한다. def gcd(a, b): while b != 0: a, b = b, a % b return a def lcm(a, b): return a * b // gcd(a.. 2024. 1. 31. 이전 1 ··· 10 11 12 13 14 15 16 17 다음