구현

    [백준 파이썬] #14503. 로봇청소기

    풀기 전 생각해보기😮 이차원 배열의 탐색은 범위를 항상 조심할 것 구현 문제 풀이🛫 dcol = [0, 1, 0, -1] drow = [-1, 0, 1, 0] def check(col, row, dir): # dir: 바라보는 방향 if dir == 0: if 0

    [알고리즘] DFS 구현

    # V개의 노드, E개의 간선이 주어질 때 V, E = map(int, input().split()) graph = [[] for i in range(V+1)] # 그래프 구성 for e in range(E): u, v = map(int, input().split()) graph[u].append(v)# 단방향일 때 #graph[v].append(u)# 양방향일 때 # 방문 정보를 저장할 공간 visited = [0] * (V+1)# 인덱스 에러(혼동)을 방지하기 위해 V+1만큼 메모리 생성 # DFS 함수 구성 def dfs(v): # 해당 정점을 방문 visited[v] = 1; # print(v, end=" "); # 방문 정보가 궁금할 때 확인 가능 # v의 방문하지 않은 인접 정점을 탐색 for..

    [백준 파이썬] #1193 분수찾기

    Bronze I # 1193 분수찾기 링크 : https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 풀이 X = int(input()) line = 1 while X > line: X -= line line += 1 if line%2 == 0: a = X b = line-X+1 else: a = line-X+1 b = X print(a, '/', b, sep = '') 후기 Bronze I인데 내게 너무 어려운 문제로 느껴졌다. 문제 이해를 금방 했어도 구현을 너무 어려운 방식으로 시도하는 것 같아 고칠 필요가 있다. 기준을 무엇으로 설정하는지가 중요해보인다. 분자 / 분모 / 분..

    [백준 파이썬] # 5622 다이얼

    Bronze II # 5622 다이얼 링크 : https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 풀이 word = list(input()) dial = [[],[],['A','B','C'],['D','E','F'],['G','H','I'],['J','K','L'],['M','N','O'],['P','Q','R','S'],['T','U','V'],['W','X','Y','Z']] s = 0 for i in word: for j in dial: if i in j: s += dial.index(j) print(s+len(word)) 후..

    [이코테 자료구조] 2. 그리디 알고리즘 & 구현

    그리디 알고리즘 by 나동빈님 링크 : https://www.youtube.com/watch?v=2zjoKjt97vQ 그리디 알고리즘(탐욕법) : 현재 상황에서 지금 당장 좋은 것만 고르는 방법 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구 풀이의 정당성 분석이 중요 단순히 가장 좋아 보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토 일반적인 상황에서 그리디 알고리즘은 최적의 해를 보장할 수 없을 때가 많다 많은 코딩 테스트에서 제시되는 문제 유형 중 하나 ※ 예시 문제 : [거스름 돈, 곱하기 혹은 더하기, 모험가 길드] 최적의 해를 빠르기 구하기 위해 가장 큰 화폐 단위부터 돈을 거슬러 주면 된다 가장 큰 화폐 단위부터 돈을 거슬러 주는 것이 최적..