본문 바로가기
SMALL

알고리즘-python48

[프로그래머스/1단계/파이썬(Python3)] 키패드 누르기 문제 출처 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 풀이 코드 def solution(numbers, hand): answer = '' now_l=10 now_r=12 for n in numbers: if n in [1, 4, 7]: answer+='L' now_l=n elif n in [3, 6, 9]: answer+='R' now_r=n else: n=11 if n==0 else n abL.. 2021. 6. 16.
백준 알고리즘 문제에서 입력 받기 프로그래머스 알고리즘 문제풀이 연습을 시작한지도 벌써 3개월차로 접어들었습니다. 2단계 문제를 풀다가 백준 져지를 알게 되었고, 스터디에서 두 가지 문제풀이를 병행하고 있어요. 두 가지를 풀다보니 프로그래머스 풀이에서 문제되지 않았던 부분에서 고민이 있었습니다. "입력을 어떻게 받지...?" input()을 알긴 해도 입력값을 끊어서 받는다던가, 한꺼번에 받는다던가 하는 부분에서 막혔습니다. 이번 기회에 입력받기에서 알게된 부분을 정리해봅니다. split() 문자열을 특정 구분자로 나누고 싶을 때 split() 함수 사용 a = '1 2 3 4'.split() print(a) #['1', '2', '3', '4'] '1 2 3 4' 문자열을 공백을 분리기준으로 삼아서 '1', '2', '3', '4' 로.. 2020. 7. 9.
[copy모듈/deepcopy메서드] 얕은 복사와 깊은 복사 백준 코드를 풀다가 어려워서 모범답안을 해설하는 중에 깊은 복사(deep copy) 개념이 나왔습니다. 복사에도 여러 종류가 있군요. 객체의 복사에는 얕은 복사(shallow copy)와 깊은 복사(deep copy)가 있습니다. 우선 docs.python.org의 개념정리입니다. 더보기 가변(mutable) 컬렉션 또는 가변(mutable) 항목들을 포함한 컬렉션의 경우, 때로 컬렉션을 변경하지 않고 사본을 변경하기 위해 복사(copy)가 필요합니다. 얕은 복사와 깊은 복사의 차이점은, 복합 객체(리스트 또는 클래스 인스턴스와 같은 다른 객체를 포함한 객체)에만 유효합니다. ▷ 얕은 복사: 새로운 복합 객체를 만들고, (가능한 범위까지) 원본 객체를 가리키는 참조를 새로운 복합 객체에 삽입합니다. ▷ .. 2020. 7. 9.
[백준 / 파이썬(Python3) / #14502 ] 연구소 문제 출처 https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크� www.acmicpc.net 문제 설명 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크기가 N×M인 직사각형으로 나타낼 수 있으며, 직사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 일부 칸은 바이러스가 존재하며, .. 2020. 7. 7.
LIST