[프로그래머스 LV.0] 등수 매기기 — Python 정답 & 해설
·
코딩테스트/알고리즘
🔗 1. 문제 URLhttps://school.programmers.co.kr/learn/courses/30/lessons/120882 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 📝 2. 문제 요구사항 정리영어 점수와 수학 점수가 담긴 2차원 배열 score가 주어졌을 때, 각 학생의 평균 점수를 기준으로 등수를 매긴 결과를 반환하는 문제입니다.입력: 각 학생의 영어 점수와 수학 점수가 [영어, 수학] 형태로 주어집니다.처리: 학생별 평균 점수를 구한 뒤, 높은 평균 점수부터 등수를 매깁니다.반환값: 원래 학생 순서에 맞춰 각 학생의 등수를 담은 배열을 반환합니다. 💡 3. 핵심 개념✔ 1) 학생..
[프로그래머스 LV.1] 완주하지 못한 선수 — Python 정답 & 해설
·
코딩테스트/알고리즘
🔗 1. 문제 URLhttps://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 📝 2. 문제 요구사항 정리마라톤에 참여한 선수들의 이름이 담긴 participant와 완주한 선수들의 이름이 담긴 completion이 주어졌을 때, 완주하지 못한 선수 한 명의 이름을 찾아 반환하는 문제입니다.입력: participant에는 전체 참가자 이름이, completion에는 완주한 선수 이름이 담겨 있습니다.조건: completion의 길이는 participant보다 1 작고, 참가자 중에는 동명이인이 있을 수 ..
[프로그래머스 LV.0] 문자열 밀기 — Python 정답 & 해설
·
코딩테스트/알고리즘
🔗 1. 문제 URLhttps://school.programmers.co.kr/learn/courses/30/lessons/120921 📝 2. 문제 요구사항 정리문자열 A와 B가 주어졌을 때, A를 오른쪽으로 몇 번 밀어야 B가 되는지 구하는 문제입니다. 만들 수 있다면 필요한 최소 횟수를 반환하고, 어떤 방식으로 밀어도 B가 될 수 없다면 -1을 반환해야 합니다.입력: 길이가 같은 두 문자열 A, B가 주어집니다.처리: A를 오른쪽으로 회전시켜 B와 같아질 수 있는지 확인합니다.반환값: 가능하면 최소 회전 횟수, 불가능하면 -1을 반환합니다. 💡 3. 핵심 개념✔ 1) 회전 문자열의 특징 이해하기문자열을 오른쪽으로 밀어 만든 결과들은 원래 문자열의 순환된 형태입니다. 예를 들어 B를 두 번 ..
[프로그래머스 LV.2] 괄호 회전하기 — Python 정답 & 해설
·
코딩테스트/알고리즘
🔗 1. 문제 URLhttps://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 📝 2. 문제 요구사항 정리대괄호, 중괄호, 소괄호로 이루어진 문자열 s가 주어졌을 때, 문자열을 왼쪽으로 x칸 회전했을 때 올바른 괄호 문자열이 되는 경우의 수를 구하는 문제입니다.회전 범위: x는 0부터 s의 길이 - 1까지이며, 모든 회전 경우를 확인해야 합니다.검증 기준: 여는 괄호와 닫는 괄호의 종류와 순서가 모두 올바르게 맞아야 합니다.반환값: 올바른 괄호 문자열이 되는 회전 횟수의 개수를 반환합니다. 💡 3. ..
[프로그래머스 LV.0] 유한소수 판별하기 — Python 정답 & 해설
·
코딩테스트/알고리즘
🔗 1. 문제 URLhttps://school.programmers.co.kr/learn/courses/30/lessons/120878 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 📝 2. 문제 요구사항 정리두 정수 a와 b가 주어졌을 때, 분수 a / b가 유한소수로 표현될 수 있는지 판별하는 문제입니다. 유한소수라면 1을, 무한소수라면 2를 반환해야 합니다.핵심 조건: 기약분수로 만들었을 때 분모의 소인수가 2와 5만 남아야 유한소수입니다.약분 처리: a와 b의 최대공약수로 b를 나누어 기약분수의 분모를 구합니다.반환값: 분모에서 2와 5를 모두 제거한 뒤 1이 남으면 1, 다른 값이 남으면 2를 ..
[프로그래머스 LV.0] 배열 만들기 2 — Python 정답 & 해설
·
코딩테스트/알고리즘
🔗 1. 문제 URLhttps://school.programmers.co.kr/learn/courses/30/lessons/181921 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 📝 2. 문제 요구사항 정리정수 l과 r이 주어졌을 때, l 이상 r 이하의 정수 중에서 숫자 0과 5로만 이루어진 수를 모두 찾아 배열로 반환하는 문제입니다.탐색 범위: l부터 r까지의 모든 정수를 확인합니다.조건: 각 정수를 문자열로 바꿨을 때 모든 문자가 0 또는 5여야 합니다.예외 처리: 조건을 만족하는 수가 하나도 없다면 [-1]을 반환합니다. 💡 3. 핵심 개념✔ 1) 숫자를 문자열로 변환해 자리수 확인하기각 숫..
[프로그래머스 LV.0] 배열 조각하기 — Python 정답 & 해설
·
코딩테스트/알고리즘
🔗 1. 문제 URLhttps://school.programmers.co.kr/learn/courses/30/lessons/181893 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 📝 2. 문제 요구사항 정리정수 배열 arr와 query가 주어졌을 때, query를 순서대로 확인하면서 arr의 특정 구간만 남기는 문제입니다. query의 인덱스가 짝수인지 홀수인지에 따라 잘라내는 방향이 달라집니다.짝수 인덱스: query[i]번 인덱스까지는 남기고, 그 뒤쪽 원소들을 잘라냅니다.홀수 인덱스: query[i]번 인덱스부터 끝까지 남기고, 그 앞쪽 원소들을 잘라냅니다.최종 반환값: 모든 query를 처리한..
[프로그래머스 LV.2] 행렬의 곱셈 — Python 정답 & 해설
·
코딩테스트/알고리즘
🔗 1. 문제 URLhttps://school.programmers.co.kr/learn/courses/30/lessons/12949?language=python3 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 📝 2. 문제 요구사항 정리2차원 행렬 arr1과 arr2를 입력받아, 두 행렬을 곱한 결과를 반환하는 문제입니다. 선형대수학의 행렬 곱셈 연산 방식을 코드로 구현해야 합니다.행렬 곱셈 조건: 앞 행렬의 열 개수와 뒤 행렬의 행 개수가 같아야 연산이 가능합니다. (문제 조건상 항상 만족합니다.)결과 행렬의 크기: [arr1의 행(세로) 길이 × arr2의 열(가로) 길이] 크기의 새로운 행렬이 만들..
[프로그래머스 LV.1] 모의고사 — Python 정답 & 해설
·
코딩테스트/알고리즘
🔗 1. 문제 URLhttps://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 📝 2. 문제 요구사항 정리1번, 2번, 3번 수포자가 각각 자신만의 규칙적인 반복 패턴으로 문제를 찍을 때, 주어진 정답 배열 answers와 비교하여 가장 많은 문제를 맞힌 사람이 누구인지 구하는 문제입니다.최종 출력 배열: 가장 많은 문제를 맞힌 사람의 번호 리스트 (1번, 2번, 3번)정렬 조건: 가장 많이 맞힌 사람이 여러 명일 경우, 번호를 기준으로 오름차순 정렬하여 반환 💡 3. 핵심 개념 ✔ 1) 찍기 패턴의 ..
[프로그래머스 LV.1] 두 개 뽑아서 더하기 — Python 정답 & 해설
·
코딩테스트/알고리즘
🔗 1. 문제 URLhttps://school.programmers.co.kr/learn/courses/30/lessons/68644 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 📝 2. 문제 요구사항 정리정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 더해서 만들 수 있는 모든 수를 배열에 담아 오름차순으로 정렬하여 리턴하는 문제입니다.최종 출력 배열: 중복 없이 오름차순 정렬된 합산 배열정렬 조건: 더해서 나온 값들을 기준으로 오름차순(ASC) 정렬 💡 3. 핵심 개념✔ 1) 모든 조합의 합 구하기 (이중 for문)서로 다른 인덱스의 두 수를 더해야..