공부하고 기록하는, 경제학과 출신 개발자의 노트
반응형

프로그래밍 214

[Python] 프로그래머스. JadenCase 문자열 (Level 2)

programmers.co.kr/learn/courses/30/lessons/12951 코딩테스트 연습 - JadenCase 문자열 만들기 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 programmers.co.kr 파이썬이 문자열 처리에서 강력한 이유. 문자열 내장함수 capitalize()를 사용하면 된다. 단, 주어지는 문자열에 여러 개의 공백이 입력으로 주어진 경우가 존재할 수 있다. 예컨대 "manner makes Man" 같은 문자열. 이런 문자열은 문자열 공백 개수를 그대로 유지한 채 리턴해야 한다. 따라서 split..

[Python] 프로그래머스. 풍선 터트리기 (Level 3)

programmers.co.kr/learn/courses/30/lessons/68646 코딩테스트 연습 - 풍선 터트리기 [-16,27,65,-2,58,-92,-71,-68,-61,-33] 6 programmers.co.kr 어떻게 접근해야 할지 모르겠어서, 다른 블로그의 풀이를 참고했다. velog.io/@pss407/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A468646-%ED%92%8D%EC%84%A0-%ED%84%B0%ED%8A%B8%EB%A6%AC%EA%B8%B0 [프로그래머스]#68646 풍선 터트리기 문제일렬로 나열된 n개의 풍선이 있습니다. 모든 풍선에는 서로 다른 숫자가 써져 있습니다. 당신은 다음 과정을 반복하면서 풍선들을 단 1개만 ..

[Python] 프로그래머스. 삼각 달팽이 (Level 2)

programmers.co.kr/learn/courses/30/lessons/68645 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr dyndy.tistory.com/82 실력키우기 달팽이삼각형(JAVA) 1337 : 달팽이삼각형 제한시간: 1Sec 메모리제한: 64mb 해결횟수: 409회 시도횟수: 762회 삼각형의 높이 N을 입력받아서 아래와 같이 숫자 0부터 달팽이 모양으로 차례대로 채워진 삼각형 dyndy.tistory.com 이곳의 풀이를 참고했다. 1. n * n 크기의 2d 리스트를 생성한다. 2. 이..

[Python] 백준 2156. 포도주 시식

www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net DP문제. 점화식은 잘 구했는데, 점화식에 맞춰서 arr를 생성하는 과정에 또 시간소모가 심했다. table[i] = i번째 위치에서 마실 수 있는 최댓값이라고 정의하면 i-1번째와 i-2번째 둘 다 마신 경우 = i번째 위치를 마실 수 없으므로 table[i-1] i-1번째를 마시지 않은 경우 = table[i-2] + arr[i] i-2번째를 마시지 않은 경우 = table[i-3] + arr[i-1] + a..

[Python] 프로그래머스. 2020 카카오 recruit - 블록 이동하기 (Level 3)

programmers.co.kr/learn/courses/30/lessons/60063 코딩테스트 연습 - 블록 이동하기 [[0, 0, 0, 1, 1],[0, 0, 0, 1, 0],[0, 1, 0, 1, 1],[1, 1, 0, 0, 1],[0, 0, 0, 0, 0]] 7 programmers.co.kr Level 3으로 책정된 이유는 아마 복잡한 알고리즘을 쓰는 게 아니라 조건 잘 체크해서 구현하는 문제이기 때문인 것 같다. 작년에 시험볼 때 카카오 문제가 어렵게 느껴졌던 이유는, 시험장에서 제한된 시간 안에 이만큼 구현하는 게 정말 어려웠기 때문이었다. 심지어 시험중일 때에는, 이걸 여유롭게 고민할 마음의 여유도 없었다. 이 문제만 유달리 어려웠던 것도 아니고... Python으로 풀 때 내가 사용한 ..

[Python] 프로그래머스. 최적의 행렬 곱셈 (Level 4)

programmers.co.kr/learn/courses/30/lessons/12942 코딩테스트 연습 - 최적의 행렬 곱셈 크기가 a by b인 행렬과 크기가 b by c 인 행렬이 있을 때, 두 행렬을 곱하기 위해서는 총 a x b x c 번 곱셈해야합니다. 예를 들어서 크기가 5 by 3인 행렬과 크기가 3 by 2인 행렬을 곱할때는 총 5 x 3 x 2 = programmers.co.kr DP문제. 이전에 풀었던 백준 파일합치기 문제와 로직은 동일하다. [Python] 백준 11066. 파일 합치기 https://www.acmicpc.net/problem/11066 11066번: 파일 합치기 문제 소설가인 김대전은 소설을 여러 장(chapter)으로 나누어 쓰는데, 각 장은 각각 다른 파일에 저장..

[Python] 프로그래머스. 2020 카카오 인턴 - 경주로 건설 (Level 3)

https://programmers.co.kr/learn/courses/30/lessons/67259 코딩테스트 연습 - 경주로 건설 [[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,1,0,0,0,1],[0,0,1,0,0,0,1,0],[0,1,0,0,0,1,0,0],[1,0,0,0,0,0,0,0]] 3800 [[0,0,1,0],[0,0,0,0],[0,1,0,1],[1,0,0,0]] 2100 [[0,0,0,0,0,0],[0,1,1,1,1,0],[0,0,1,0,0,0],[1,0,0,1,0,1],[ programmers.co.kr bfs 기반 탐색 문제이면서, 경로의 최소비용을 체크하는 문제.

[Python] 프로그래머스. 2020 카카오 인턴 - 수식 최대화 (Level 2)

https://programmers.co.kr/learn/courses/30/lessons/67257 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 � programmers.co.kr 이 문제도 시험 당시에는 제대로 못 풀었었다. 재귀를 활용한 분할정복으로 접근해야 하는 문제. 1. 문자열을 우선순위 문자열을 기준으로 분리한다. 2. 분리한 문자열을 다음 우선순위 문자열을 기준으로 분리한다. 3. 가장 마지막 우선순위 문자열에 도착했으면, 연산한 결과를 문자열 형태로 리턴한다. 100-200*300-500+20 이고 연산 우선순위가 (*..

[Python] 프로그래머스. 2020 카카오 인턴 - 보석 쇼핑 (Level 3)

https://programmers.co.kr/learn/courses/30/lessons/67258 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 실제 테스트할 때 효율성을 끝까지 해결 못 했던 문제. 처음 접근할 때는 '이분탐색으로 window 사이즈 탐색' + '해당 window size가 조건을 충족하는지 확인'하는 방식으로 풀었는데, 다시 풀면서 접근해보니 리스트 슬라이싱을 쓰면 시간초과가 반드시 등장했다. 정답은 투 포인터를 활용한 탐색.

반응형