본문 바로가기

알고리즘66

[프로그래머스] 등굣길 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42898 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Level 4로 나와있지만, 학창 시절에 배웠던 걸 잘만 기억하면 Level 2 이하의 난이도가 된다. 주요 아이디어 최단 경로 경우의 수를 구하는 문제를 기억하는가? 기억이 안나면 보고 오자. (링크) 간단하게 요약하자면, x[i][j] 까지 도달하는 경우의 수는 x[i-1][j] 경우의 수 + x[i][j-1] 경우의 수이다. 예시. 예시로 나온 문제의 최단경로 경우의 수를 체크하면 다음.. 2024. 4. 8.
[프로그래머스] 조이스틱 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42860# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이게 왜 Level 2이지? 알 수가 없다 주요 아이디어 Greedy 문제 유형에 나와있어서, 한 글자마다 최적의 선택을 하면 solution을 보장하는 문제라고 생각했다 상하 이동은 그냥 target이 A에 가까운지 Z에 가까운지에 따라 결정 좌우 이동이 중요하다 예시 AAAAN 바꿔야 될 position 선택 ->: 4 EROENJEREON 처음은 중간 위치 (len(str) // 2).. 2024. 4. 7.
[프로그래머스] 튜플 문제 https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저번에 굉장히 복잡하게 풀었던 것 같은데 간단하게 풀렸다~! 주요 아이디어 처음에 문제를 읽을 때는 그냥 다 때려놓고 set하면 되는거 아니야?? 했는데.. 이 문제에는 함정이 있다. 바로 result 내의 원소 순서를 맞춰야만 정답이 된다는 것 애초에 문제 조건에도 명시되어 있다! 주어진 문자열 s를 2차원 리스트로 변환하기 원소 개수 순으로 오름차순 정렬 그래야 a1, a2, ... 를 .. 2024. 4. 7.
[프로그래머스] 두 개 뽑아서 더하기 문제 https://school.programmers.co.kr/learn/courses/30/lessons/68644 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 굉장히 간단한 입문용 문제 주요 아이디어 2개를 추출하는 모든 조합 뽑기 오름차순 정렬 코드 구현 (Python 3) 더보기 from itertools import combinations def solution(numbers): combi = list(combinations(numbers,2)) answer = list(set([x[0] + x[1] for x in combi])) answe.. 2024. 4. 7.
[프로그래머스] 소수 찾기 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 어려운 문제만 풀다보니 힘들어서.. 이번엔 좀 라이트한 문제로 주요 아이디어 소수 구하는 함수 따로 작성 주어진 문자열로 만들 수 있는 모든 숫자 조합 생성하기 가능한 소수 카운트! 코드 구현 (Python 3) 더보기 from itertools import permutations def prime_num(x): # 1, 자기자신 외 약수 # 약수 구하기 if x < 2: return Fal.. 2024. 4. 7.
[프로그래머스] 순위 검색 문제 https://school.programmers.co.kr/learn/courses/30/lessons/72412 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 굉장히 간단해보이지만.. 효율성 테스트때문에 시간이 오래 걸렸던 문제! 주요 아이디어 처음에는 그냥 단순하게 비교만 하면 된다고 생각했다..! info, query를 공백 기준으로 split하고, 맨 끝의 score는 따로 배열을 만들어 넣었다 query의 '-' 는 해당 조건은 보지 않겠다는 뜻이므로 가능한 경우의 수를 다 집어넣었다 코드 구현 (Python 3) 더보기 def soluti.. 2024. 4. 7.