728x90 반응형 분류 전체보기510 [백준] 1149번 : RGB거리 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 1. 문제 설명 2. 풀이과정 해당 문제는 다음 집 색이 이전 집 색의 결과에 영향을 받으므로 이전 집 색의 결과를 다시 사용하여 해결하는 다이나믹 알고리즘 문제이다. 각 집은 3가지 색으로 칠할 수 있기 때문에 다음 집 색의 3가지 선택지 별로 이전 집의 가능한 색 결 중 최솟값을 더하여 3가지 경우를 각각 구하고 마지막 집까지 색을 선택하였으면 마지막 집의 결과에서 최솟값을 찾으면 된다. sys.stdin.readline() 함수를 사용.. 2023. 7. 23. [프로그래머스] 기능개발 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 각 작업별 남은 일수를 저장할 리스트를 생성한다. days = list() 작업의 개수만큼 반복하며 for i in range(len(progresses)) 남은 일수를 저장할 변수를 생성하고 남은 작업을 계산한 후, 하루 작업 속도를 나눈 몫을 저장한다. times = (100 - progresses[i]) // speeds[i] 만약 남은 작업을 하루 작업 속도로 나눈 나머지가 0보다 크면(나머지가 있으면) if ((100 - progresses[i]) % speeds[i] .. 2023. 7. 23. [프로그래머스] 카드 뭉치 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 popleft() 함수를 사용하기 위해 카드 뭉치를 deque 자료구조로 만든다. deque 자료구조를 사용하기 위해 deque 모듈을 불러온다. from collections import deque 틀린 경우만 찾아내기 위해 초기 결과를 Yes로 저장한다. answer = 'Yes' 두 카드 뭉치를 deque 자료로 변경한다. cards1 = deque(cards1) cards2 = deque(cards2) 만들어야 할 문장의 각 단어를 하나씩 추출한다. for i in goa.. 2023. 7. 23. [프로그래머스] 튜플 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 입력받은 문자열을 }를 기준으로 분리하여 각각 리스트로 저장한다. s = list(s.split('}')) 문자열 마지막에는 무조건 }}가 들어가므로 변형한 리스트 마지막에는 아무것도 없는 원소가 두 개 들어가게 된다. 따라서 제일 마지막 두 개의 원소를 제거해 준다. s.pop() s.pop() 입력받은 문자열을 2차원 리스트로 변형하여 저장할 리스트를 생성한다. sList = list() 리스트로 바꾼 문자열 s의 각 원소를 하나씩 추출한다. for i in s 각 원소를 리.. 2023. 7. 22. [프로그래머스] 과일 장수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 최대 이익을 내기 위해 내림차순으로 정렬하여 가장 비싼 사과부터 판매한다. score.sort(reverse=True) 반복문에서 사용할 변수를 생성하고 초기화한다. i = 0 다음 상자에 사과를 포장할 수 있으면 while (i + m 2023. 7. 22. [프로그래머스] 의상 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 의상 종류별로 구분하기 위해 딕셔너리를 생성한다. d = {} 입력받은 의상을 하나씩 추출한다. for i in clothes 만약 이미 추출한 의상 종류가 딕셔너리에 존재하면 if (i[1] in d) 의상 종류의 값에 1을 더한다. d[i[1]] += 1 반면에 추출한 의상 종류가 처음이라면 else 의상 종류의 값을 1로 하여 새로 저장한다. d[i[1]] = 1 각 의상의 선택 가지 수를 저장할 리스트를 생성한다. count = list() 분류한 의상 종류별 수를 하나씩.. 2023. 7. 22. [백준] 10773번 : 제로 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 입력할 정수의 개수를 입력받는다. N = int(sys.stdin.readline()) 입력받은 수를 저장할 스택을 리스트로 생성한다. stack = list() 입력받은 정수만큼 반복하며 for i in range(N) 저장할 숫자를 입력받는다. num = int(sys.stdin.readline.. 2023. 7. 21. [백준] 1021번 : 유기농 배추 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 해당 문제는 BFS 알고리즘으로 해결할 수 있는데 이때 popleft() 함수를 사용하기 위해 deque 자료구조를 사용하고 deque 자료구조를 사용하기 위해 deque 모듈을 불러온다. from collections import deque BFS 함수를 구현한다. def BFS(row, col) 테스트 케이스 횟수를 입력받는다. T = i.. 2023. 7. 21. [자바(Java) 공부하기] 21. 추상화 - 우당탕탕 개발자 되기 프로젝트 객체를 직접 생성할 수 있는 클래스를 실체 클래스라고 한다면, 이 클래스들의 공통적인 특성을 추출해서 선언한 클래스를 추상 클래스라고 합니다. 추상 클래스가 부모, 실체 클래스가 자식으로 구현되면 실체 클래스는 추상 클래스의 모든 특성을 물려받고, 추가적인 특성을 가질 수 있습니다. 추상 클래스를 선언할 때는 선언에 abstract 키워드를 붙여야 합니다. abstract를 붙이면 new 연산자를 이용해서 객체를 만들지 못하고, 상속을 통해 자식 클래스를 만들 수 있습니다. 실체 클래스를 설계하는 사람이 여러 사람일 경우, 실체 클래스마다 필드와 메서드가 각기 다른 이름을 가질 수 있습니다. 추상 클래스는 실체 클래스의 공통된 필드와 메서드의 이름을 통일할 용도로 사용합니다. 실체 클래스가 가져야 할 필.. 2023. 7. 21. [백준] 11726번 : 2xn 타일링 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 직사각형의 가로의 길이를 입력받는다. n = int(sys.stdin.readline()) 팩토리얼을 계산하는 함수를 생성한다. 이때 재귀함수로 구현하게 되면 RecursionError가 발생하게 되므로 for 문을 사용하여 구현한다. def Factorial(num) 팩토리얼 결과를 저장할 변수를 생성하고 1로 초기화한다. result = 1 1부터 .. 2023. 7. 20. 이전 1 ··· 30 31 32 33 34 35 36 ··· 51 다음 728x90 반응형