본문 바로가기

알고리즘

(28)
[프로그래머스] Level2 - 타겟넘버* 문제 설명 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 주어지는 숫자의 개수는 2개 이상 20개 이하입니다. 각 숫자는 1 이상 50 이하인 자연수입니다. 타겟 넘버는 1 이상 1000 이하인 자연수입니다. ..
[프로그래머스] Level2- 모의고사 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 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 함수를 작..
[이것이 코딩테스트다] 구현 1. 구현 구현 문제 : 풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제 ex) 코드가 길어지는 문제, 특정 소수점까지 출력하는 문제, 문자열이 입력으로 주어졌을 때 파싱해야하는 문제 등 -> 문법적인 문제나 라이브러리 사용 경험이 부족하다면 어려운 문제들 나처럼 알고리즘 문제 풀이 경험이 적은 사람이 전형적으로 어려워하는 문제들이다.... 2. 실습 2.1 상하좌우 나의코드 n = int(input()) plan = list(input().split()) row=[0,0,-1,1] col=[-1,1,0,0] x,y=1,1 for p in plan: if p == 'L': if 1
[이것이 코딩 테스트다] 그리디 알고리즘 네이버 AI 부스트캠프를 위한 코딩테스트 준비를 본격적으로 시작해보려고합니다. 그동안 알고리즘에 대한 공부를 제대로 해본적이 없어서 '이것이 코딩테스트다'를 다 끝내는 것을 목표로 열심히 공부해보겠습니다. 1. 그리디 알고리즘 그리디 알고리즘이라고 불리는 이 알고리즘을 그대로 해석하면 '탐욕법'입니다. '탐욕적인 알고리즘'이라는 것인데 이말은 현재 상황에서 지금 당장 좋은 것만 고르는 방법입니다. 즉, 직관적으로 봤을 때 좋아보이는 것만 고르다보면 알고리즘 문제가 해결된다는 것이죠! 그리디 알고리즘은 그리디 알고리즘임을 알면 매우 쉽게 문제를 해결할 수 있지만 그리디 알고리즘임을 알기가 쉽지 않습니다. 그만큼 문제 유형이 매우 다양합니다. 그래도 문제에 '가장 큰 순서대로', '가장 작은 순서대로'와 같..

728x90
반응형