전체 글

전체 글

    평행

    문제 설명 점 네 개의 좌표를 담은 이차원 배열 dots가 다음과 같이 매개변수로 주어집니다. [[x1, y1], [x2, y2], [x3, y3], [x4, y4]] 주어진 네 개의 점을 두 개씩 이었을 때, 두 직선이 평행이 되는 경우가 있으면 1을 없으면 0을 return 하도록 solution 함수를 완성해보세요. 제한사항 0 ≤ dots의 원소 ≤ 100 dots의 길이 = 4 dots의 원소의 길이 = 2 dots의 원소는 [x, y] 형태이며 x, y는 정수입니다. 서로 다른 두개 이상의 점이 겹치는 경우는 없습니다. 두 직선이 겹치는 경우(일치하는 경우)에도 1을 return 해주세요. 입출력 예 dots result [[1, 4], [9, 2], [3, 8], [10, 4]] 1 [[3,..

    옹알이2-리펙토링

    문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 입출력 예시 babbling(입력) result(출력) ["aya", "yee", "u", "maa", "wyeoo"] 1 ["ayaye", "uuuma", "ye", "yemawoo", "ayaa"] 3 문제해설 # babbling =["ayaye", "uuuma", "ye", "yemawoo", "ayaa"] def solution(babblin..

    15.토마토(BFS 활용)

    문제 - 생략 문제풀이 import sys from collections import deque sys.stdin=open("input.txt", "r") dx=[-1, 0, 1, 0] dy=[0, 1, 0, -1] n, m=map(int, input().split()) board=[list(map(int, input().split())) for _ in range(m)] dis = [[0]*n for _ in range(m)] Q=deque() for i in range(m): for j in range(n): if board[i][j] == 1: #행단위로 검색하면서 익은 토마토 발견 Q.append((i, j)) while Q: tmp=Q.popleft() for k in range(4): #ran..

    14. 안전영역(BFS) vs 안전영역(DFS)

    안전영역(BFS) import sys from collections import deque sys.stdin=open("input.txt", "r") dx=[-1, 0, 1, 0] dy=[0, 1, 0, -1] n=int(input()) board=[list(map(int, input().split())) for _ in range(n)] cnt=0 #안전영역의 갯수 res=0 Q=deque() for h in range(0, 100): ch=[[0]*n for _ in range(n)] cnt=0 #높이 h가 바뀌는 경우 cnt를 초기화한다. for i in range(n): for j in range(n): if ch[i][j]==0 and board[i][j]> h: #행단위로 검색하면서 최초로 안..