본문 바로가기
728x90
반응형

분류 전체보기510

[프로그래머스] 타겟 넘버 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 각 수마다 -, + 두 가지 경우의 수가 존재한다. 따라서 총 (2 ** 숫자의 개수) 가지의 경우의 수가 나온다. 하여 모든 경우의 수를 구하고 이를 하나씩 확인하여 각 수의 합을 구한 뒤, 해당 합이 타겟 넘버와 같은지 비교하는 방식으로 문제를 해결하였다. 각 경우의 수를 구할 때 appendleft() 함수를 사용하기 위해 deque 모듈을 불러온다. from collections import deque 모든 경우를 저장할 리스트를 생성한다. graph = list() 모든.. 2023. 7. 31.
[백준] 11053번 : 가장 긴 증가하는 부분 수열 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 각 수까지 부분 수열에서 최대로 긴 증가하는 부분 수열의 길이를 구하면 된다. 처음 최소 길이 1로 초기화한 배열을 가지고 수열에서 각 수를 가져와 수열의 이전 값들과 비교한다. 만약 가져온 수가 더 크다면 비교한 값의 부분 수열 길이에 1을 더한 결과와 현재 수의 부분 수열 길이를 비교하여 더 큰 결과를 가져온 수의 부분 수열 길이로 저장한다.. 2023. 7. 30.
[프로그래머스] 이중우선순위큐 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 deque 자료구조를 사용하기 위해 deque 모듈을 불러온다. from collections import deque deque 자료구조를 사용해 큐를 생성한다. queue = deque() 문자열 배열을 하나씩 추출하며 for i in operations 문자열을 공백을 기준으로 분리하여 리스트로 저장한다. li = list(i.split()) 만약 명령어가 I로 시작하면 if (li[0] == "I") 값을 정수로 큐에 추가한다. queue.append(int(li[1])) .. 2023. 7. 30.
[백준] 1436번 : 영화감독 숌 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 숫자를 차례대로 보면서 666이 포함되어 있으면 개수를 세고, 만약 찾으려고 하는 번째의 수를 찾으면 출력하고 종료하면 된다. 666이 포함된 숫자 중 가장 작은 숫자인 666부터 시작하여 수를 찾을 때까지 반복하면 된다. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 찾을 영화 제목 순서를 입력받는다. N = int(sys.stdin.readline()) 가장.. 2023. 7. 29.
[백준] 2164번 : 카드2 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys popleft() 함수를 사용하기 위해 deque 자료구조를 사용하고, deque 자료구조를 사용하기 위해 deque 모듈을 불러온다. from collections import deque 카드의 수를 입력받는다. N = int(sys.stdin.readline()) 1부터 입력받은 수의 번호까지 차례대로 들어있는 deque을 생.. 2023. 7. 29.
[프로그래머스] 정수 삼각형 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제는 올 수 있는 이전의 길의 결과 중 가장 최댓값을 계속 적으로 선택하여 오면 된다. 하여 처음부터 다음 길을 갈 때 다음 길에 지금까지 온 길의 합을 계속 저장하고, 마지막에 도착했을 때 마지막 길들 중 최댓값을 구하면 해결되는 문제이다. 이전의 길의 결과를 저장할 리스트를 생성한다. result = list() 제일 처음 출발점의 값을 추가한다. result.append(triangle[0]) 이전 값은 처음부터 마지막 전까지 길의 값을 추출해야 한다. for i i.. 2023. 7. 29.
[프로그래머스] 피로도 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제의 던전의 최대 개수는 8개로 그렇게 많지가 않다. 하여 입력받은 던전에서 가능한 모든 순열의 결과를 구하고 이를 하나씩 불러오며 탐험 가능한 던전의 개수를 구한다. 모든 경우에서 탐험 가능한 던전의 개수를 구하면 최대 탐험 던전의 개수를 반환하면 된다. 파이썬에서는 리스트의 순열 조합의 경우를 구해주는 permutstions 함수가 있는데 이를 사용하기 위해 permutations 모듈을 불러온다. from itertools import permutations 모든 순.. 2023. 7. 28.
[백준] 1697번 : 숨바꼭질 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 현재 위치한 점으로부터 이동할 수 있는 경우가 뒤로 1칸, 앞으로 1칸, 순간이동 총 3가지가 있다. 하지만 점 0에서는 더 이상 뒤로 갈 수 없고, 점 100,000에서는 더 이상 앞으로 갈 수 없다.또한 순간이동 시 이동 후 위치가 100,000이 넘어가면 순간이동을 할 수 없다.각 점에서 경우별로 결과를 구하고 이를 그래프로 나타내어 해당 그래프를 BFS 탐색하면 해결할 수 있다. sys.. 2023. 7. 28.
[프로그래머스] [1차] 뉴스 클러스터링 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 마지막 65536을 곱한 후 소수점 아래를 버림 할 때 floor() 함수를 사용하므로 math 모듈을 불러온다. import math 첫 번째 문자열의 다중집합 원소를 저장할 리스트를 생성한다. li1 = list() 인덱스 1번 원소부터 마지막 원소까지 살펴보며 for i in range(1, len(str1)) 앞 글자를 포함해 두 글자씩 끊어 저장한다. word = str1[i - 1] + str1[i] 만약 저장한 글자가 영문자로만 구성되어 있으면 if (word.isa.. 2023. 7. 27.
[백준] 10845번 : 큐 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys popleft() 함수를 사용하기 위해 deque을 생성하는데 deque 생성하기 위해 deque 모듈을 불러온다. from collections import deque 명령의 수를 입력받는다. N = int(sys.stdin.readline()) 큐를 생성한다. queue = deque() 명령의 수만큼 반복하며 .. 2023. 7. 27.
728x90
반응형