본문 바로가기
728x90
반응형

Python437

[프로그래머스] 숫자 문자열과 영단어 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 각 영단어를 숫자로 바꾸기 위해 각 영단어를 미리 리스트로 저장해 둔다. 저장할 때 각 단어를 각 인덱스로 바로 바꿔주기 위해 0부터 저장한다. words = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"] 원하는 지점에서 멈추기 위해 무한 반복문을 사용하여 구현한다. while (True) 각 영단어의 원소를 하나씩 추출한다. for i in words 만약 추출한 연단어가 문자열에.. 2023. 7. 8.
[프로그래머스] [1차] 비밀지도 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 각 정수 배열을 2진수로 변환하고 각 2진수를 각 자리별로 비교하여 하나라도 벽이면 벽으로 구현하니 시간이 초과되었다. 하여 각 정수 배열의 각 원소별로 추출하여 각 자리를 비교하여 하나라도 벽이면 벽으로 저장하고 역순으로 출력한 결과를 저장하도록 구현하였다. 정수 배열의 원소의 개수는 지도의 한 변의 길이와 동일하므로 지도의 한 변의 길이만큼 반복한다. for i in range(n) 각 변마다 결과를 저장할 리스트를 생성한다. li = list() 각 배열의 원소를 이진수로 .. 2023. 7. 8.
[프로그래머스] 카펫 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 노란색 카펫 모양의 가로의 길이와 세로의 길이를 구하고 그 테두리를 갈색으로 채웠을 때 가로의 길이가 세로의 길이보다 같거나 큰 직사각형 모양의 카펫이 되면 된다. 노란색 카펫의 세로 길이를 저장할 변수를 생성하고 세로의 최소 길이인 1로 초기화한다. i = 1 원하는 지점에서 멈추기 위해 무한 반복문으로 구현한다. while (True) 만약 세로의 길이로 노란색 카펫의 개수를 나누었을 때 나누어 떨어지면 if (yellow % i == 0) 노란색 카펫의 모양이 정해진 경우이.. 2023. 7. 8.
[프로그래머스] 영어 끝말잇기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 탈락자가 생기지 않을 경우 [0, 0]을 반환해야 하므로 기본 정답을 [0, 0]으로 설정한다. answer = [0, 0] 사용한 단어들을 저장할 리스트를 생성하고 시작 단어를 추가한다. li = [words[0]] 끝말잇기 차례를 나타낼 변수를 생성하고 1로 초기화한다. turn = 1 시작 단어는 이미 들어가 있기 때문에 다음 단어부터 각 단어를 추출한다. for i in range(1, len(words)) 사용한 단어의 리스트에서 이전 값을 저장한다. pre = li[i.. 2023. 7. 8.
[백준] 10870번 : 피보나치 수 5 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 1. 문제 설명 2. 풀이과정 출력하는 피보나치 수가 20이 최대이므로 20번째까지 피보나치 수를 만들어 리스트에 저장해 두고 입력을 받으면 만들어둔 리스트에서 해당 값을 출력해 주는 방식으로 구현한다. sys.stdin.readline() 함수로 입력받기 위해 sys 모듈을 불러온다. import sys 피보나치 수를 만들어줄 함수를 구현한다. def Func(num1, num2, count) 만약 20번째 피보나치 수를 .. 2023. 7. 7.
[백준] 10817번 : 세 수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 10817번: 세 수 첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100) www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수로 입력받기 위해 sys 모듈을 불러온다. import sys 세 정수를 리스트로 입력받아 저장한다. li = list(map(int, sys.stdin.readline().split())) 입력받은 세 정수를 정렬한다. li.sort() 정렬한 수에서 두 번째로 큰 수인 가운데 수를 출력한다. print(li[1]) 3. 소스코드 import sys li = list(map(int, sys.stdin.readline().split())) li.sort() print(li[1]) 2023. 7. 7.
[백준] 2869번 : 달팽이는 올라가고 싶다 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 1. 문제 설명 2. 풀이과정 달팽이가 올라갈 수 있는 높이, 미끄러지는 높이, 나무 막대의 높이를 입력받는다. A, B, M = map(int, input().split()) 달팽이가 하루동안 올라가는 총 높이를 구한다. oneDay = A - B 정상에 올라가면 미끄러지지 않으므로 마지막날 정상에 올라가는 높이를 빼준다. V -= A math 모듈의 ceil() 메서드를 사용하여 마지막날을 제외하고 며칠을 올라가야 하는지 구하여 마지막날을 포함한 결과를 출력한다. print(math.ceil(V / oneDay) +.. 2023. 7. 7.
[프로그래머스] 짝지어 제거하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 문자열을 매번 짝지어진 문자열을 제거하고 이어 붙이는 작업을 문자열이 공백이 될 때까지 반복하는 방법으로 코드를 작성하면 반복문이 많이 수행되게 되어 시간 초과가 뜬다. 하여 반복문을 1개만 작성하여 문제를 해결하기 위해 스택(Stack) 구조를 사용하여 문제를 해결하였다. 스택으로 사용할 리스트를 생성한다. li = list() 입력받은 문자열의 각 문자를 추출한다. for i in s 만약 스택이 비어있으면 무조건 추출한 문자를 스택에 삽입한다. if (len(li) == 0.. 2023. 7. 7.
[프로그래머스] 크기가 작은 부분 문자열 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 부분문자열을 저장할 리스트를 생성한다. li = list() 문자열 t의 길이만큼 반복한다. for i in range(len(t)) 만약 다음 인덱스 번호(i와 문자열 p의 길이의 합)가 문자열 t의 길이보다 작거나 같으면 if (i + len(p) 2023. 7. 7.
[프로그래머스] 최소직사각형 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 지갑의 크기를 가장 작게 만들려면 각 길이를 작은 길이별로, 큰 길이별로 구분하여 각각 가장 큰 값만 추출하여 만들면 된다. 각 명함의 원소를 하나씩 추출하여 for i in sizes 더 짧은 길이가 앞에 오도록 다시 정렬한다. i.sort() 가로의 길이를 저장할 변수를 만들고 초기화한다. length = 0 세로의 길이를 저장할 변수를 만들고 초기화한다. width = 0 각 명함의 원소를 하나씩 추출한다. for i in sizes 추출한 원소의 첫 번째 값 중 가장 큰 .. 2023. 7. 7.
728x90
반응형