Python 92

[프로그래머스] 코딩테스트 연습 - 가장 긴 팰린드롬(Python)

문제 설명 더보기 문제 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들면, 문자열 s가 "abcdcba"이면 7을 return하고 "abacde"이면 3을 return합니다. 제한 문자열 s의 길이 : 2,500 이하의 자연수 문자열 s는 알파벳 소문자로만 구성 입출력 예시 입출력 예 s answer "abcdcba" 7 "abacde" 3 입출력 예 설명 입출력 예 #1 4번째자리 'd'를 기준으로 문자열 s 전체가 팰린드롬이 되므로 7을 return합니다. 입출력 예 #2 2번째자리 'b'를 기준으로 "aba"가 팰린드롬..

[프로그래머스] 코딩테스트 연습 - 사칙연산(Python)

더보기 문제 사칙연산에서 더하기(+)는 결합법칙이 성립하지만, 빼기(-)는 결합법칙이 성립하지 않습니다. 예를 들어 식 1 - 5 - 3은 연산 순서에 따라 다음과 같이 다른 결과를 가집니다. ((1 - 5) - 3) = -7 (1 - (5 - 3)) = -1 위 예시와 같이 뺄셈은 연산 순서에 따라 그 결과가 바뀔 수 있습니다. 또 다른 예로 식 1 - 3 + 5 - 8은 연산 순서에 따라 다음과 같이 5가지 결과가 나옵니다. (((1 - 3) + 5) - 8) = -5 ((1 - (3 + 5)) - 8) = -15 (1 - ((3 + 5) - 8)) = 1 (1 - (3 + (5 - 8))) = 1 ((1 - 3) + (5 - 8)) = -5 위와 같이 서로 다른 연산 순서의 계산 결과는 [-15, ..

모각코 3회차 - 각자 문제풀이

모각코 두번째 회의 후 각자 코딩 테스트를 위한 문제풀이를 진행했습니다! 저는 구름 LEVEL 에서 2시간의 시간제한을 두고 챌린지 문제들을 풀어봤습니다. 그 중에서 복기할만한 문제들을 추려보겠습니다. ✏️ 준비운동 PART3. 각자 문제풀이 1. 개미와 진딧물 한 변의 길이가 N 인 정사각형 모양의 평면에 진딧물 집과 개미 집이 있다. 개미 집은 고유의 영역 범위 안의 모든 진딧물에게서 수액을 수집한다. 이 수액이 없으면, 개미 집은 부족한 식량으로 제거된다. 길이가 4 인 정사각형 평면을 1X1 크기의 작은 정사각형으로 나누면 아래와 같은 그림으로 표현할 수 있다. 위와 같은 상태로 arr[i][j] 값들이 주어진다. arr[i][j] 의 값은 0,1,2 중 하나이며, 1은 개미 집이고, 2는 진딧물..

모각코 2회차 - 약점체크

모각코 두번째 회의 후 PART2. 약점체크를 풀며 준비운동을 했습니다! 확실히 저번주보다는 난의도가 높은 문제들인 것을 체감했습니다. ✏️ 준비운동 PART2. 약점체크 재귀 탐색의 기본: 연산자 끼워넣기 (🥈실버 1티어) 스택의 응용: 괄호의 값 (🥈실버 2티어) 시뮬레이션 기본: 빗물 (🥇 골드 5티어) 완전탐색의 유연한 생각: 가르침 (🥇 골드 4티어) 그리디의 기본: 멀티탭 스케줄링 (🥇 골드 1티어) 투 포인터의 기본: 부분합 (🥇골드 4티어) 벨만포드 뼈대문제: 최소비용 구하기 (🥇 골드 5티어) Prime, Kruskal 뼈대문제: 최소 스패닝 트리 (🥇 골드 4티어) KMP 뼈대문제: 부분 문자열 (🥉 브론즈 2티어) 위상정렬: 줄 세우기 (🥇 골드 3티어) 1. 연산자 끼워넣기 impo..

모각코 1회차 - 준비운동

모각코 첫번째 회의 후 PART1. 튼튼한 기본기를 풀며 준비운동을 했습니다! 쉬운 문제를 풀며 자신감도 올리고 기본적인 문법을 복기하기 좋았습니다. ㅎㅎ ✏️ 준비운동 PART1. 튼튼한 기본기 약수 구하기 (🥉 브론즈 3티어) 이진수 (🥉 브론즈 3티어) 최소, 최대 (🥉 브론즈 3티어) 지능형 기차 2 (🥉 브론즈 3티어) 피보나치 수 5 (🥉 브론즈 2티어) 일곱 난쟁이 (🥉 브론즈 2티어) 최대공약수와 최소공배수 (🥈실버 5티어) N번째 큰 수 (🥈실버 5티어) 소수 찾기 (🥈실버 4티어) 쉽게 푸는 문제 (🥈실버 4티어) 소수 (🥈실버 4티어) 1. 약수 구하기 import sys input = sys.stdin.readline N, K = map(int,input().split()) answ..

[백준/알고리즘/python/java] 2309번 - 일곱 난쟁이

단순한 그리디 문제였다. 맨 처음에는 그리디가 아니라 dp문제인가 싶었다. 이전에도 풀었던 기록이 있어서 단순한 그리디로도 풀릴 듯해서 바로 푼 문제였다. 코드는 아래와 같다. import sys input = sys.stdin.readline height = [] for _ in range(9): height.append(int(input())) diff = sum(height)-100 # 9명의 난쟁이 키의 합과 100의 차이를 구한다 find_two_false = False # find_two_false라는 초기변수를 False로 설정한다. for i in height: for j in height[1:]: if i + j == diff: # height를 돌면서 두 난쟁이의 합이 diff와 같으면..

반응형