전체 글

전체 글

    16. 사다리 타기(DFS) - 오른쪽, 왼쪽, 위 각각 별도로 접근

    문제- 생략 문제풀이 import sys sys.stdin=open("input.txt", "r") def DFS(x, y): ch[x][y] =1 if x ==0: print(y) else: if y-1>=0 and board[x][y-1]==1 and ch[x][y-1]==0: DFS(x, y-1) #왼쪽 elif y+1=0 and board[x][y-1]==1 and ch[x][y-1]==0: ▶ ↑ 내가 왼쪽 next지점(y-1)으로 이동하려하는데, y-1좌표는 0보다 커야 하며, ▶ board[x][y-1]==1로써 방문 가능한 곳이머야 하며, ▶ ch[x][y-1]==0: 로써 방문한 흔적이 없어야 한다.

    2차원 배열에서 max(), min()의 의미- 각 행의 첫번째 요소만 비교 + 직사각형의 넓이 구하기

    list = [[1, 7, 12], [4, 7, 13], [1, 5, 17], [3, 5, 20], [2, 4, 24], [ 1, 4, 28], [3, 6, 37], [5, 6, 45], [2, 5, 62], [1, 2, 67], [5, 7, 73]] numvert = max(list) print(numvert) # 출력값 : [5, 7, 73] data = [[1, 2, 3], [5], [0, 1, 100]] print(min(data))#출력값 [0, 1, 100] print(max(data))#출력값 [5] data = [[6, 8, 2, 6, 2], [3, 2, 3, 4, 6], [6, 7, 3, 3, 2], [7, 2, 5, 3, 6], [8, 9, 5, 2, 7]] min_val = min(d..

    숨어있는 숫자의 덧셈(2) - 정규식o vs 정규식x , join()

    정규식을 사용하는 경우 - findall() import re def solution(my_string): numbers=list(map(int, re.findall(r'\d+', my_string))) return numbers 정규식을 사용하지 않는 경우 def solution(my_string): s = ''.join(i if i.isdigit() else ' ' for i in my_string) return sum(int(i) for i in s.split()) ▶ my_string이라는 문자열을 임시변수 i로 접근할 것인데, i가 숫자이면 i를 집어 넣고, i가 숫자가 아니라면 ' ' 공백을 집어 넣는다. ▶ join() 메서드의 매개변수로는 문자열, 리스트, 튜플을 사용할 수 있다★ ▶ ''..

    이진수 더하기 - bin() 함수 이용

    나의 풀이 def solution(bin1, bin2): #bin1, bin2는 문자열 return bin(int(bin1,2)+int(bin2,2))[2:] ▶ bin1, bin2는 문자열이다. ▶ int(bin1, 2)는 bin1(문자열)을 이진수로 인식한 후에 10진수로 변환을 한다. ▶ 10진수 더하기를 한 다음 bin() 함수를 이용해 10진수를 2진수로 변환한다. ▶ 2진수로 변환한경우 '0b'가 앞에 붙기 때문이 [2: ] 로 슬라이싱하여 '0b'를 잘라낸다.