- 프로그래머스 level1
- 전화번호 목록 python
- 코테 연습
- programmers
- Spring 초보
- 장고
- spring 기초
- 프로그래머스 레벨1
- 알고리즘 문제
- 프로그래머스 전화번호 목록 파이썬
- 코딩테스트 연습
- 코딩테스트
- 스프링 기초
- 프로그래머스 고득점 kit
- 알고리즘 공부
- 백준 바닥장식 python
- 코테
- 스프링 초보
- 프로그래머스 알고리즘 고득점 kit
- 백준 다이나믹프로그래밍
- 백준
- 프로그래머스 전화번호 목록 python
- 백준 dp
- 프로그래머스
- 바닥장식 파이썬
- 프로그래머스 레벨2
- dp 알고리즘
- 장고 기초
- Django 기초
- Django
- Today
- Total
목록코딩테스트 (17)
일일구름 IT
문제 아 일단 코딩을 너무 오랜만에 해서 문법을 다 까먹었다...이제 슬슬 취업준비 시작해야 하니까 다시 코테 준비를 좀 빡세게 해야겠다 처음에는 이 문제를 보고 BFS 탐색 방식을 사용해야하나 ? 라고 생각했다. 방향이 주어지지 않았다면 BFS 방법을 사용하는 것이 맞았을 것이다. 그런데 여기서 '-'는 가로 같은 행, '|'는 같은 열에 인접해 있다면 같은 나무 판자라는 방향을 지정해주었다. 그래서 굳이 BFS을 사용하지 않아도 되겠다는 생각이 들었다. 그리고 인접한 '-' 또는 '|'의 시작이나 중간부분이 아닌 마지막 판자의 개수만 세면 필요한 나무 만자의 개수를 구할 수 있다. 1. 모든 판자 순서대로 for문을 이용해 탐색2. 오른쪽('-') 또는 아래쪽 ('|')에 같은 판자가 있는지 확인3...
코드 n, k = map(int, input().split()) coin = [] for i in range(n): coin.append(int(input())) sum = [10001 for i in range(k+1)] sum[0] = 0 for i in coin: for j in range(i, k+1): sum[j] = min(sum[j], sum[j-i]+1) if sum[k] == 10001: print(-1) else: print(sum[k]) 동전 1과 비슷한 문제이지만 차이점은 동전의 최소 갯수를 구하는 점과 불가능한 경우엔 -1을 출력하는 것이다. 일단 sum 리스트를 초기값 10001로 초기화 해준다. i==j일 경우에는 동전을 1개만 뽑아도 되므로 sum[0]에 0을 넣어 sum[i..
문제 코드 n, k = map(int, input().split()) coin = [] for i in range(n): coin.append(int(input())) sum = [0 for i in range(k+1)] sum[0] = 1 for i in coin: for j in range(i, k+1): sum[j] += sum[j-i] print(sum[k]) 예제의 경우로 설명해보면, 동전 1만 선택했을 경우, 동전 1, 2원 중에서 선택한 경우, 동전 1, 2, 5원 중에서 선택한 경우를 차례로 구한다. sum[0]에 1을 넣어준 이유는 j원이 되는데 i원 1개만 선택해도 되는 경우를 고려한것입니다. (j == i인 경우) sum[j] += sum[j-i] 코드는 동전 i원을 뺀 값이 되는 경..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 입출력 예시: 내 문제 풀이 : def solution(survey, choices): answer = '' type = {'R' : 0, 'T' : 0, 'C' : 0, 'F' : 0, 'J' : 0, 'M' : 0, 'A' : 0, 'N' : 0} score = {1 : 3, 2 : 2, 3 : 1, 5 : 1, 6 : 2, 7 : 3} for idx, i in enumerate(sur..
문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작성해..
https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육..
문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 입출력 예시 내 문제 풀이: def solution(arra..
문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 당신은 최대한 다양한 종류의 폰켓몬을 가지길 원하기 때문에, 최대한 많은 종류의 폰켓몬을 포함해서 ..