본문 바로가기

python43

[프로그래머스] [Python] Level2_조이스틱 https://programmers.co.kr/learn/courses/30/lessons/42860 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 실패 코드 def solution(name): #유니코드로 변환하여 숫자 비교 A->65, Z->90, N->78 ,O->79 cnt = 0 ans = [] arr = [ord(i) for i in name] print(arr) for a in arr: ans.append(min(a-65,91-a)) print(ans) print(set(ar.. 2021. 10. 2.
[프로그래머스] [Python] Level1_K번째 수 https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr def solution(array, commands): answer = [] #command[0]-1 : slice start #command[1] : slice end #command[2]-1 : index for command in commands: answer.append(sorted(array[command[0]-1:command[1]])[command[2]-1]) return answer 2021.09.29 def so.. 2021. 9. 30.
[백준] [Python] #14719 빗물 https://www.acmicpc.net/problem/14719 14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치 www.acmicpc.net 순간 문제를 보자마자 보이는 2차원 격자무늬 그림에 이거 2차원 배열 써야하나 싶었다. 그러나 그런 문제는 아니었고 숫자를 받아서 배열 생성하는 뻘짓을 안한 것만 해도 감사하다. left_wall = arr[0] ans = 0 ansList = [0] for i in range(1, m): if arr[i] < left_wall: ans += left_wall-arr[i] eli.. 2021. 9. 25.
[백준] [Python] #9012 괄호 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 중간에 풀다가 막혔는데 is_empty라는 flag를 넣음으로서 해결함 '('면 append하고 아니면 pop하는데, 마지막에 stack에 뭐가 남아있으면 NO만 하려 했더니 걸러지지 않는 케이스가 있었다 ')' 같은 경우가 그러했다. 애초에 '('이 append된 적이 없어서 stack이 비어있거나, '('보다 ')'갯수가 더 많은 경우 그러했다. 따라서 비정상적인.. 2021. 9. 25.
[백준] [Python] #2504 괄호의 값 https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 www.acmicpc.net 1단계. Stack임을 알아챈다! 2단계. 괄호 별로 수행하는게 다르기 때문에 (, ), [, ] 각각 if로 분기친다 + 쌍이 안맞는 괄호 걸러내기 3단계. 계산이 복잡함을 깨닫고 새로운 flag역할을 할 tmp를 추가한다 4단계. 괄호 기호만 stack에 넣는게 아니라 계산 값도 동시에 stack으로 관리한다 - 계산 값만 따로 관리할 여러 방법을 생각해봤는데 괄호안에 괄호가 있는 거라 함께.. 2021. 9. 25.
[백준] [Python] #1158 요세푸스 문제 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 자랑은 아니지만 약 3일정도 삽질을 했다.. (이 글을 보는 여러분 힘내세요! 얘도 아직 포기 안했어요!) 처음엔 빼는 K 번째로 인덱스를 나머지 연산하고... 별의별 짓을 했는데 사람list를 조작해서 무언가를 하기엔 너무 복잡하다. 왜냐하면 pop을 하면 인덱스가 바뀌는데 이걸 반영해서 인덱스를 가지고 다시 나머지 연산을 하기란 쉽지 않았다.. 그래서 찾아보니 그냥 k를 조작하는 방법이 있었다...ㅠㅜ n, k = map(int, input().split()) josephus = [i.. 2021. 9. 24.