본문 바로가기

Python48

[프로그래머스] 코딩테스트 연습 - 같은 숫자는 싫어 (Python) 문제 및 풀이 문제) 프로그래머스 - 구현 - 같은 숫자는 싫어 https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이) 리스트 내에 연속적으로 중복되는 숫자들을 제거하는 문제였습니다. 파이썬 리스트의 마지막 인덱스([-1])을 이용하여 비교해가면 해결할 수 있습니다. 2022. 8. 19.
[프로그래머스] 2020 카카오 인턴십 - 키패드 누르기 (파이썬) 문제 및 풀이 문제) 프로그래머스 - 2020 카카오 인턴십 - 키패드 누르기 https://school.programmers.co.kr/learn/courses/30/lessons/67256?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이) 키 패드 구현과 분기 처리를 통해 쉽게 해결할 수 있는 문제입니다. 키패드를 Dictionary 자료형을 통해 key_pad에 저장합니다. 함수 내에서는 두 엄지손가락의 현재 위치를 추적하고, 숫자를 입력할 때마다 두 손 중 어떤 손을 사용해야 하는지 결정합니다. 이 함수는 숫자 배열 number.. 2022. 8. 6.
[프로그래머스] 2022 카카오 공채 - 신고 결과 받기 (파이썬) 문제 및 풀이 문제) 프로그래머스 - 2022 카카오 공채 - 신고 결과 받기 https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이) K번 이상 신고 당한 유저를 신고 성공한 횟수의 리스트 배열을 return하는 문제였습니다. 오랜만에 풀다보니(특히 Python) 전에 자주 사용했던 Dictionary나 List에만 의존했습니다. 그러다보니 정답에서 index 처리를 위한 자료형이 계속 추가되었습니다. 아래는 프로그래머스에 나온 다른 사람 풀이 중 하나입니다.. 2022. 8. 4.
[백준] 14889번 - 스타트와 링크 (Python) 문제 및 풀이 문제) 백준 - 완전 탐색 - 스타트와 링크 https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 최대 인원 수가 20명이므로 완전 탐색으로 해결할 수 있습니다. Python의 Combination을 활용하여 팀을 나눕니다. 나눈 팀의 능력치 차이의 최솟값을 구하여 해결할 수 있습니다. Python 소스코드) 2022. 4. 3.
[백준] 22943번 - 수 (Python) 문제 및 풀이 문제) 백준 - 수학 - 수 https://www.acmicpc.net/problem/22943 22943번: 수 0부터 9까지 $K$가지의 숫자를 한 번씩만 사용하여 만들 수 있는 수 중 아래 조건을 모두 만족하는 수들의 개수를 구해보자. 단, 수의 맨 앞에는 0이 올 수 없다. 즉, 0143는 불가능하다. 서로 다른 www.acmicpc.net 소수 판별을 이용해 다양한 조건을 만족하는 수의 개수를 찾는 문제였습니다. 0부터 9까지 K개로 이루어진 수를 찾기 위해 itertools에 내장된 permutation을 활용했습니다. 만약 뽑힌 수의 앞 수가 0일 경우 만족하지 않으므로 무시합니다. 그 후, 에라토스테네스의 체를 활용한 소수 판별을 바탕으로 문제에 주어진 조건대로 확인합니다. Python 소.. 2022. 3. 2.
[백준] 10988번 - 팰린드롬인지 확인하기 (Python) 문제 및 풀이 문제) 백준 - 문자열 - 팰린드롬인지 확인하기 https://www.acmicpc.net/problem/10988 10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 문자열의 앞,뒤가 같은지(팰린드롬인지) 확인하는 문제였습니다. Python 소스코드) 2022. 2. 25.
[백준] 19583번 - 싸이버개강총회 (Python) 문제 및 풀이 문제) 백준 - 문자열 - 싸이버개강총회 https://www.acmicpc.net/problem/19583 19583번: 싸이버개강총회 첫번째 줄에는 개강총회를 시작한 시간 S, 개강총회를 끝낸 시간 E, 개강총회 스트리밍을 끝낸 시간 Q가 주어진다. (00:00 ≤ S < E < Q ≤ 23:59) 각 시간은 HH:MM의 형식으로 주어진다. 두번째 줄부터는 www.acmicpc.net S, E, Q의 숫자를 차례로 받고 시간 T와 이름의 입력을 받습니다. 정해진 입력 범위가 없기 때문에 밑의 코드와 같이 입력을 받습니다. while True: try: T, Name = input().split() except: break 그 후 시간 비교를 통해 출석 여부를 판단합니다. 따로 시간 Tokenizing.. 2022. 2. 15.
[백준] 19699번 - 소-난다! (Python) 문제 및 풀이 문제) 백준 - 수학 - 소-난다! https://www.acmicpc.net/problem/19699 19699번: 소-난다! 지난 번 헛간 청약의 당첨우(牛)가 발표됐다. 청약에 당첨된 소들은 날아갈 듯이 기뻐하다가 진짜로 하늘을 날았다. 하지만 이후로 소들은 날 수 없었다. 그러던 어느 날, 꿀벌에게 쏘이면 잠깐 www.acmicpc.net 에라토스테네스의 체로 소수 판별을 진행합니다. H의 범위가 1000 이하이고 뽑힐 수의 개수(M)가 최대 9개이기에 MAX를 10000으로 잡았습니다. 조합을 뽑아야 하기 때문에 C++ 대신 Python을 이용해 문제를 해결했습니다. Python 소스코드) 2022. 1. 21.
[백준] 10826번 - 피보나치 수 4 (Python) 문제 및 풀이 문제) 백준 - DP - 피보나치 수 4 https://www.acmicpc.net/problem/10826 10826번: 피보나치 수 4 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 큰 수 구현이 귀찮아서 파이썬으로 해결했습니다. Python 소스코드) import sys input = sys.stdin.readline dp = [0 for _ in range(10001)] N = int(input()) dp[0] = 0 dp[1] = 1 for i in range(2, N + 1): dp[i] .. 2021. 12. 30.
반응형