본문 바로가기

Problem Solving50

(프로그래머스/입문)DAY8: 배열 자르기 해당 문제는 배열의 인덱스 구조만 알면 쉽다.배열[ 시작 : 끝 : 단계 ] 이런 구조인데, 각 부분은 다음과 같다:- 시작 : 가져오는 것을 시작할 값의 번째 ( 예를들어, 1번째 값이면 0부터 시작한다. )- 끝 : 가져오는 것을 끝낼 값의 번째 +1 ( +1을 하는 이유는 끝에 적은 번째의 이전번째 까지 가져오기 때문이다.)- 단계 : 건너 뛰는 정도 ( 예를들어, 시작이 0 인데 2이면 2, 4, 6, ... 번째 이런식 ) 명심할 점은, 끝의 직전번째까지 가져오므로 끝내고싶은 값의 번째에 +1을 해줘야 한다는 것이다.def solution(numbers, num1, num2): return numbers[num1:num2+1] 2026. 2. 1.
(프로그래머스/입문)DAY7: 짝수의 합 for 반복문과 함께 사용하는 range의 사용법은 다음과 같다:range( 시작, 끝, 단계 )- 시작 : 반복을 시작할 값- 끝 : 반복을 끝낼값. 주의할 점은, 해당 값은 포함이 안 됨- 단계 : 몇 단위로 증가 또는 감소할 것인지 (생략가능)예를들어 다음과 같은코드이면:for i in range(1, 10): print(i) 출력값은 다음과 같다:123456789 만약 10까지 출력하고 싶다면 range( 1, 11 ) 이렇게 해야한다. 단계를 사용하는것은 문제 풀이와 함께 들겠다.문제에서는 "짝수" 의 합을 return 해달라 했으므로,2부터 2씩 더한 값들이 모두 짝수일것이다.따라서 2로 나눈 나머지를 활용하지 않고 바로 range의 단계를 이용해 풀었다.def solution(n):.. 2026. 1. 31.
(프로그래머스/입문)DAY6: 문자열, 반복문, 출력, 배열, 조건문 목차문제뒤집힌 문자열 직각삼각형 출력하기 짝수 홀수 개수 문자 반복 출력하기메모1. 문제:1) 뒤집힌 문자열 가장 간단한 방법은 slicing 을 사용하는 것으로, https://docs.python.org/3/tutorial/introduction.html#text slicing 이란, 문자열[ 시작 : 끝 : 단계 ] 이런식으로 인덱스자리에 구분자로 콜론 ( : ) 을 사용해 해당 문자열의 일정 부분만 가져온다.여기서는 시작과 끝을 지정하지 않고 단계로 -1을 사용해 마지막 값부터 처음값까지 가져왔다. 즉, 뒤집었다!def solution(my_string): return my_string[::-1] reverse 메소드로 풀기주의할 점은, reverse 메소드는 리스트 메소드라 문자열을 리.. 2026. 1. 30.
(프로그래머스/입문)DAY5: 수학, 배열 목차목차문제옷가게 할인 받기아이스 아메리카노나이 출력배열 뒤집기메모문제:옷가게 할인 받기 할인된 가격을 구하려면 할인된 가격 = 정가 - (정가 * 할인퍼센트 / 100) 에서 정가로 묶으면할인된 가격 = 정가 * ( 1 - 할인퍼센트 / 1000 ) 이다.예를들면,정가 : 550,000원할인율 : 20%일 때 할인된 가격은 550,000 * 0.8 인 것이다.이 개념과 조건문을 사용해 풀었다.def solution(price): if 500000 아이스 아메리카노 solution = lambda money: [money // 5500, money % 5500]나이 출력 solution = lambda age: 2022 - age + 1배열 뒤집기 배열을 뒤집는건 다양한 방법으로 할 .. 2026. 1. 29.
(프로그래머스/입문)DAY4: 수학, 배열 목차목차문제피자 나눠 먹기 (1)피자 나눠 먹기 (2)피자 나눠 먹기 (3)배열의 평균값메모문제:피자 나눠 먹기 (1) 피자를 7조각으로 잘라 먹는데, 인원이 n일 때 필요한 피자의 판 수를 return 해야한다. 필요한 피자의 판수는 인원수를 7(피자 한 판)로 나눠서 구하기로 했다.7명이 먹는다면 1판인데,만약 딱 맞아 떨어지지 않으면? 예를들어, 15명이 먹는다고 하면 15 나누기 7은 2.142... 이렇게 실수형으로 나온다면 정수부분만 가져온 후, +1을 해주면 된다.def solution(n): if (n / 7) % 1 == 0: return int(n / 7) else: return int(n / 7) + 1피자 나눠 먹기 (2) 이전 문제랑 좀 달라진게.. 2026. 1. 28.
(프로그래머스/입문)DAY3: 사칙연산, 배열, 수학 목차목차문제나머지 구하기중앙값 구하기최빈값 구하기짝수는 싫어요메모문제:나머지 구하기 여긴 파이썬 연산자를 배웠다면 쉽다. ( 참고를 위해 Python docs 링크를 걸어놨다 )나머지를 반환하는 연산자를 사용한다면 return 을 바로 사용해 어렵지 않게 구할 수 있다.def solution(num1, num2): return num1 % num2 위에 함수를 lambda expression 으로 다시 만들어본다면 한 줄로도 표현 가능하다.solution = lambda num1,num2: num1%num2 중앙값 구하기 numpy 모듈을 사용하면 중앙값을 정말 쉽게 구할 수 있다. 하지만! 우선은 모듈 없이 중앙값을 구해보도록 하겠다.def solution(array): return sor.. 2026. 1. 27.