Problem Solving50 [Python] 프로그래머스 - 가장 큰 수 찾기 (입문/DAY16) 제공되는 문제 설명과 제한사항, 입 출력 예시는 다음과 같다: 배열 안에서 가장 큰 숫자와 그 숫자가 몇 번째 자리에 있는지를 찾아내는 문제다. 파이썬의 강력한 내장 함수를 활용해 한 줄로 끝낼 수도 있고, 반복문을 통해 직접 최댓값 탐색 로직을 설계해 볼 수도 있다.이 문제에서 주의할 점은 결과값을 [최댓값, 인덱스] 형태로 반환해야 한다는 점이다.생각해본 풀이 방법은,max() 함수와 index() 메서드를 조합해 간결하게 해결한다.혹은, 반복문을 돌며 최댓값과 그 위치를 변수에 실시간으로 저장하며 찾아낸다.풀이 1 : 내장 함수 max()와 index() 활용파이썬의 내장 함수를 사용하면 단 한 줄로도 문제 해결이 가능하다.def solution(array): # max()로 최댓값을 찾고,.. 2026. 2. 9. [Python] 프로그래머스 - 편지 (입문/DAY16) 제공되는 문제 설명과 제한사항, 입 출력 예시는 다음과 같다: 이 문제에서 주의할 점은 공백도 하나의 문자로 취급한다는 점과, 문제에서 제시한 단위(2cm)를 전체 길이에 어떻게 곱해줄 것인가 하는 점이다.풀이 로직은,len() 함수를 사용하여 전체 문구의 글자 수를 구한다.한 글자당 가로 크기인 2를 곱한다.결과값을 반환한다.풀이 : 문자열 길이와 산술 연산 활용def solution(message): # message의 전체 길이에 글자당 크기 2를 곱함 return len(message) * 2오늘의 성장 기록: 문제의 요구사항(글자 수 * 크기)을 파악하고 이를 파이썬의 내장 함수인 len()과 곱셈 연산자로 즉시 구현해 보았다. 가끔은 복잡하게 생각하기보다 문제에 주어진 단서를 정직하.. 2026. 2. 9. [Python] 프로그래머스 - 한 번만 등장한 문자 (입문/DAY15) 제공되는 문제 설명과 제한사항, 입 출력 예시는 다음과 같다: 이번 문제는 주어진 문자열에서 딱 한 번만 나타나는 문자를 찾아 사전 순으로 정렬하는 것이다. 단순히 중복을 제거하는 것이 아니라 '등장 횟수가 정확히 1회'인 것만 골라내야 한다는 점이 핵심이다.이 문제에서 주의할 점은 중복을 체크할 때 '있고 없음'만 따지면 3번, 5번 등 홀수 번 등장하는 문자를 걸러낼 수 없다는 점이다.이를 명시해서 풀어보자.각 문자가 몇 번 등장했는지 기록할 저장소(딕셔너리)를 만든다.문자열을 돌며 등장 횟수를 카운트한다.횟수가 1인 문자들만 골라 정렬하여 합친다.풀이 1 : del 키워드를 이용한 방식처음에는 딕셔너리에 있으면 지우고, 없으면 넣는 방식으로 '한 번만 남기기'를 시도했다.def solution(s).. 2026. 2. 8. [Python] 프로그래머스 - 인덱스 바꾸기 (입문/DAY15) 제공되는 문제 설명과 제한사항, 입 출력 예시는 다음과 같다: 이번 문제는 문자열 my_string의 특정 인덱스 num1과 num2에 있는 문자의 위치를 서로 맞바꾸는 것이다.이 문제에서 주의할 점은 파이썬의 문자열은 한 번 생성되면 내부 값을 직접 바꿀 수 없는 '불변(Immutable)' 객체라는 점!따라서 특정 인덱스의 값만 쏙 바꾸는 작업(my_string[num1] = 'a')은 불가능하다.문자열을 슬라이싱해서 이어 붙이거나,수정이 가능한 리스트(List) 형태로 변환하여 값을 바꾼 뒤 다시 합쳐야 한다.풀이 1 : 문자열 슬라이싱을 활용한 방식문자열을 조각조각 잘라서 num1과 num2 자리에 서로 다른 문자를 끼워 넣는 방식이다.def solution(my_string, num1, num.. 2026. 2. 8. [Python] 프로그래머스 - 영어가 싫어요 (입문/DAY15) 제공되는 문제 설명과 제한사항, 입 출력 예시는 다음과 같다: 이번 문제는 "one", "two"와 같이 영어로 적힌 숫자 문자열을 실제 숫자(1, 2)로 바꾸는 문제다. 숫자들이 공백 없이 붙어 있어서 이를 어떻게 구분해낼지가 핵심이다.이 문제에서 주의할 점은 영어 단어의 길이가 제각각(3~5글자)이라는 것과, 변환된 결과값이 최종적으로는 정수형(int)이어야 한다는 것이다.이를 생각해서 풀어야 한다.숫자 영단어와 실제 숫자가 매칭되는 자료구조를 만든다.문자열을 돌면서 영어 단어를 찾아 숫자로 치환한다.모든 변환이 끝나면 결과 문자열을 정수로 바꾼다.풀이 1 : 슬라이싱과 딕셔너리를 활용한 방식숫자의 단어 길이가 각각 3~5글자라는 것을 이용해 단어의 길이에 따라 3글자, 4글자, 5글자씩 잘라서 딕.. 2026. 2. 8. [Python] 프로그래머스 - 369게임 (입문/DAY14) 제공되는 문제 설명과 제한사항, 입 출력 예시는 다음과 같다: 이번 문제는 369게임을 코드로 구현해보는 것이다. 숫자 order가 주어졌을 때 그 안에 3, 6, 9가 몇 개 포함되어 있는지를 찾아 박수 횟수를 계산해야 한다.이 문제에서 주의할 점은 숫자의 배수를 찾는 게 아니라, 숫자 안에 '3', '6', '9'라는 문자가 포함되어 있는지를 확인해야 한다는 점!이를 명시해서 풀어보자.매개변수로 들어온 숫자 order를 하나씩 쪼개서 확인하기 위해 문자열(str)로 변환한다.반복문을 돌며 각 문자가 '3', '6', '9' 중 하나에 해당하는지 확인한다.조건에 맞을 때마다 카운트를 올린다. 풀이 : 문자열 변환과 in 연산자 활용가장 직관적이면서 효율적인 방법인 문자열 순회 방식으로 접근해 보았다.d.. 2026. 2. 7. 이전 1 2 3 4 5 6 ··· 9 다음