Cute Running Puppy
반응형

2024/07 6

[Programmers] 연속된 부분 수열의 합 (Python)

📖문제코딩테스트 연습 - 연속된 부분 수열의 합 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr✨핵심 내용 합이 k인 부분 수열의 시작 인덱스와 마지막 인덱스를 반환- 합이 k 인 부분 수열이 여러 개 일 경우 길이가 짧은 수열 반환- 길이가 짧은 수열이 여러 개인 경우 시작 인덱스가 작은 수열 반환 🤔해결 아이디어 유형: 투포인터1. start 포인터를 기준으로 end 포인터를 이동시킨다 (for 문)2. 만약 부분 수열의 합이 k라면 (시작 인덱스, 마지막 인덱스, 배열의 길이)의 값을 ans에 ..

[Programmers] 리코쳇 로봇 (Python)

📖문제https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr✨핵심 내용 상, 하, 좌, 우 4방향 중 하나를 선택해서게임판 위의 장애물이나 맨 끝에 부딪힐 때까지 미끄러져 이동하는 것을 한 번의 이동으로 친다. 🤔해결 아이디어 유형: BFS R에서 시작하여 미끄러져 이동하며 G에 도착해야 한다. -> 일반적인 최단거리 BFS 문제에서 이동 거리(방식)를 조정해 주면 된다! 위의 그림과 같이 로봇의 도착 위치를 표시할 수 있다. 로봇의 현재 위치에서 ..

[Programmers] 두 원 사이의 정수 쌍(Python, Java)

📖문제https://school.programmers.co.kr/learn/courses/30/lessons/181187 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr ✨핵심 내용 두 원 사이의 x, y 좌표 모두 정수인 점의 개수 반환하기 (각 원위의 점도 세어야 한다)🤔해결 아이디어 유형: 수학 1. i를 1부터 r2까지 반복하며 해당 x 좌표에서의 원 1, 원 2의 y 좌표를 구한다 2. x가 i 일 때 두 원 사이 y 값의 최대 값은 math.sqrt(math.pow(r2, 2) - math.pow(i, 2))3. x가 i 일 때 두 원 사이 y ..

[Programmers] 요격 시스템 (Python, Java)

📖문제https://school.programmers.co.kr/learn/courses/30/lessons/181188 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr ✨핵심 내용 A 나라 미사일: x 축에 평행한 직선 형태의 모양B 나라 미사일: x 축에 수직 한 직선 형태의 모양, 발사된 미사일은 해당 x 좌표에 걸쳐 있는 모든 미사일 관통 가능(단, 개구간이기에 s, e에서 발사하는 미사일로는 요격 불가, x가 실수인 곳에서 발사 가능)🤔해결 아이디어 유형: 그리디, 정렬🟡 구조1. targets을 e 기준으로 오름차순 정렬 2. targets을 ..

[Programmers] 등굣길 (Python, Java)

📖문제https://school.programmers.co.kr/learn/courses/30/lessons/42898 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr ✨핵심 내용 "오른쪽과 아래쪽"으로만 움직여 집에서 학교까지 갈 수 있는 최단경로의 개수를 "1,000,000,007"로 나눈 나머지 return🤔해결 아이디어 유형: DP현재 위치(i, j)에서 경로의 값이 최대가 되려면 왼쪽(i, j-1) 혹은 위(i-1, j)에서 와야 한다 🟡dp 구조1. dp 정의 - (i, j) 위치까지 올 수 있는 최단 경로의 개수  2. dp 초기화 - 집의 ..

[programmers] 정수 삼각형 - Python, Java

📖문제코딩테스트 연습 - 정수 삼각형 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr ✨핵심 내용 - 거쳐간 숫자의 합이 가장 큰 경우 찾기 - 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 "오른쪽 또는 왼쪽"으로만 이동 가능 🤔해결 아이디어 유형: DP 현재 위치(i, j)에서 최댓값이 되려면왼쪽 위(i-1, j-1) vs 오른쪽 위(i-1, j) 중 어느 방향으로 와야 최댓값이 되는지 찾기✅정답 코드 (Python)def solution(triangle):    n = len(triangle)..