코딩테스트

·Algorithm (PS)
Question: https://leetcode.com/problems/roman-to-integer/ Roman to Integer - LeetCode Can you solve this real interview question? Roman to Integer - Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1000 For example, 2 is written as II in Roman numeral, just tw leetcode.com 이게 좋은 풀이인지는 모르겠는데;; 일단 쌩 구현으로 제출해서 accepted 된..
·Algorithm (PS)
https://www.acmicpc.net/problem/6593 6593번: 상범 빌딩 당신은 상범 빌딩에 갇히고 말았다. 여기서 탈출하는 가장 빠른 길은 무엇일까? 상범 빌딩은 각 변의 길이가 1인 정육면체(단위 정육면체)로 이루어져있다. 각 정육면체는 금으로 이루어져 있어 www.acmicpc.net BFS 로 풀었다 상하 이동 처리만 신경써주면 된다 하지만 나는 삽질을 몋시간동안 했는지 모르겠다 근데 그 이유가 queue에서 뺄 때 popleft 가 아니라 pop() 을 써서 그렇다 .. 어이없다 ; from collections import deque # 방향 이동 - 동서남북 + 상하 dx = [-1, 1, 0, 0, 0, 0] dy = [0, 0, -1, 1, 0, 0] dz = [0, 0,..
·Algorithm (PS)
https://programmers.co.kr/learn/courses/30/lessons/60062 코딩테스트 연습 - 외벽 점검 레스토랑을 운영하고 있는 "스카피"는 레스토랑 내부가 너무 낡아 친구들과 함께 직접 리모델링 하기로 했습니다. 레스토랑이 있는 곳은 스노우타운으로 매우 추운 지역이어서 내부 공사를 하 programmers.co.kr 유형 : 구현 , 완전 탐색 dist의 길이가 8로, 8! 을 해도 10만을 넘지 않는다. 따라서 완전 탐색으로 풀어도 가능하다. 1. 원을 리스트로 바꿔서 생각하기 예시 2의 취약 지점을 원에 표현하면 다음과 같다. 원형일 경우 0 지점을 넘어갈때 계산이 불편하므로, 이를 일직선 상에 놓는다. 각각의 지점에 n 만큼을 더해주면 한바퀴 돈 다음의 position..
·Algorithm (PS)
다이나믹 프로그래밍은 전형적으로 보텀업 방식 형태를 보인다. 그렇지만 탑다운 방식과 보텀업 방식의 차이를 알아볼 필요가 있다. 상향식, 하향식에 따라 재귀호출인지 반복호출인지의 차이도 보여지기 때문이다. 1. 탑다운 방식 (Top-down) 재귀 함수를 이용하여 DP를 작성하는 방법. 큰 문제를 해결하기 위해 작은 문제를 호출한다. d = [0] * 100 def fibo(x): print('f(' + str(x) + ')', end=' ') if x == 1 or x == 2: return 1 if d[x] != 0: # 이미 계산한 적 있으면 그대로 값을 반환한다. return d[x] d[x] = fibo(x-1) + fibo(x-2) return d[x] * 실행 결과 f(10)을 구하기 위해서 ..
·Algorithm (PS)
와 대박이다 이거 풀이의 핵심 알고리즘이 뭔지 아세여????놀랍게도 bfs임 와이파이 모양으로 확장하는거 왠지모르게 bfs는 와이파이 모양이 떠오른다.. 그리고 그렇게 생각하면 쉽게 이해된다) 자자 암튼 코드는 이렇다 # 1697 from collections import deque N, K = map(int,input().split()) MAX = 10 ** 5 dist = [0] * (MAX+1) def bfs(): q = deque() q.append(N) while q: x = q.popleft() if x == K: print(dist[x]) break for nx in (x-1, x+1, x*2): if 0
·Algorithm (PS)
머엉... 재귀함수에 아직 익숙하지 않아서 어렵다 ! 이 문제를 읽으면 재귀함수가 딱 떠오른다 0-1-2-3 이렇게 4칸을 Z 모양으로 탐색한다 그런데 분명 재귀함수를 써야할 것 같은데.. 어디서 쓰면 좋을지 이해하는게 관건이다 처음에는 4칸씩 확장해 나가다가 c행 r열 칸을 찾으면??? 될까 라는 생각을 함 근데 큰 정사각형 덩어리에서 4분의 1 (즉 2*(n-1) * 2*(n-1))로 줄어든다는 것으로 접근하는게 쉽다 그러니까 큰 정사각형을 4칸으로 자르고 또 잘라진 4칸을 각각 잘라진 4분의 1 정사각형에서 4칸으로 자르고... 즉 !! N의 값이 N/2로 연산 할때마다 줄어든다!! 그리고 시작점을 (x,y)==(0,0)라고 생각한다 # 1074 py N, r, c = map(int, input()..
minjiwoo
'코딩테스트' 태그의 글 목록