본문 바로가기

알고리즘/프로그래머스22

[프로그래머스] 소수 찾기 문제 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.
[프로그래머스] 사칙연산 문제 https://school.programmers.co.kr/learn/courses/30/lessons/1843 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 너무 어렵다 ㅠㅠㅠ.. 주요 아이디어 DP 형식으로 풀어야 한다 (그리디로는 최적값을 보장하지 않는다) 괄호를 어디 치느냐에 따라서 연산 결과가 달라지기 때문에, 각 경우를 모두 dp 배열에 저장해두어야 한다. -> 각 구간별 연산의 최대값을 저장해두자 이 때!! 또 한 가지 중요한 것이 있다. 바로 '뺄셈'의 존재! 연산 기호가 덧셈일 때는 '연산자 위치 이전 최대값' + '연산자 위치 이후.. 2024. 4. 5.
[프로그래머스] 퍼즐조각 채우기 문제 https://school.programmers.co.kr/learn/courses/30/lessons/84021 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 주요 아이디어 처음에는 좌 -> 우, 상 -> 하 방향으로 board 판을 이동하면서 계속 탐색해나가는 과정을 생각했으나 풀이 과정이 복잡해져서 중간에 포기했다. 핵심 아이디어는 빈칸의 좌표 & 블록의 좌표를 dfs로 구하고 해당 좌표를 (0, 0) 위치로 이동시키는 것이다. 이렇게 하면 비교하기도 편해지고, 단, 주의할 점은 블록 회전이 가능하다는 것! -> 즉 회전 횟수 4번의 경우에 대.. 2024. 4. 2.