[프로그래머스/Python] 거리두기 확인하기 lv2 - 파이썬 풀이
·
코딩테스트 준비/문제풀이
아래는 프로그래머스 lv2 문제 거리두기 확인하기 링크이다.↓ ↓ ↓ 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제   문제가 level2이지만 맨해튼 거리는 뭐고 뭔가 거창해(?) 보여서 살짝 쫄렸다.한번 쭉 읽고 두 번째 예제를 보니 이해가 빨리 됐다.역시 프로그래머스는 예제 설명이 친절하다.[문제 정리]- 제한 사항을 보면 주어진 그래프는 5x5 고정이다.- P의 상하좌우에 P가 있으면 거리두기 실패- P의 상하좌우에 O가 있을 때 그 O의 상하좌우에 P가 있으면 거리두기 실패 (자기 자신 제외)- X는 상관없음 이렇게 가정하고 바로 코드를 작성했는데 결과는 통과했지만 깔끔한 느낌이 없어서 ..
[프로그래머스/Python] PCCP 기출문제 1번 붕대감기 - 코딩테스트
·
코딩테스트 준비/문제풀이
프로그래머스 PCCP 기출문제 1번 붕대감기 링크는 아래에 있다. ↓  ↓  ↓  프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 프로그래머스 코딩테스트 문제는 길어 보이지만 설명을 아주아주 친절하게 잘해놓았다.문제가 이해하기 어렵진 않았지만 1초씩 증가하며 프로그램을 짜기에는 뭔가 더 좋은 방법이 있을 것 같아서 손으로 풀어봤다. 공격을 받을 때마다 한꺼번에 충전된 체력을 더해주고 공격받은 피해량을 빼주면 더 나은 코드가 될 것 같았다. 입출력 첫 번째 예시로 풀이를 해보면 2초와 9초 사이에는 공격이 없으므로 붕대를 감는 중이다.9초 때는 공격을 받기 때문에 체력을 회복할 수 없으므로 9-2에서 1초..
[프로그래머스/Python] PCCP 기출문제 3번 충돌위험 찾기 풀이
·
코딩테스트 준비/문제풀이
혼자 꽈배기처럼 꼬아서 생각해서 시간 초과가 났던 문제였다..  프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 어떤 물류 센터는 로봇을 이용한 자동 운송 시스템을 운영합니다. 운송 시스템이 작동하는 규칙은 다음과 같습니다.물류 센터에는 (r, c)와 같이 2차원 좌표로 나타낼 수 있는 n개의 포인트가 존재합니다. 각 포인트는 1~n까지의 서로 다른 번호를 가집니다.로봇마다 정해진 운송 경로가 존재합니다. 운송 경로는 m개의 포인트로 구성되고 로봇은 첫 포인트에서 시작해 할당된 포인트를 순서대로 방문합니다.운송 시스템에 사용되는 로봇은 x대이고, 모든 로봇은 0초에 동시에 출발합니다. 로봇은 1초마..
[프로그래머스/파이썬] PCCP 기출문제 2번 퍼즐 게임 챌린지 - 이분탐색
·
코딩테스트 준비/문제풀이
시간복잡도 때문에 이분탐색을 써야 한다는 건 금방 알아차릴 수 있었다.(사실 아는 알고리즘이 몇개 없음 ㅎㅎ)그런데 테스트케이스 14번만 통과를 못하는...항상 반례 찾는게 미션인듯하다. 도통 모르겠어서 질문하기를 들어갔는데 이미 나와 같은 선배님들이 몇몇 있었고,퍼즐 게임 챌린지 테스트 케이스 14번 반례는 마지막에 적어놓았다. [프로그래머스 PCCP 퍼즐 게임 챌린지 링크]↓  ↓  ↓ 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제 당신은 순서대로 n개의 퍼즐을 제한 시간 내에 풀어야 하는 퍼즐 게임을 하고 있습니다. 각 퍼즐은 난이도와 소요 시간이 정해져 있습니다. 당신의 숙련도에 따라 퍼..
[프로그래머스/Python] PCCP 기출문제 1번 동영상 재생기 - 파이썬
·
코딩테스트 준비/문제풀이
프로그래머스 PCCP 기출문제 1번으로 난이도는 레벨1이다.  프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 당신은 동영상 재생기를 만들고 있습니다. 당신의 동영상 재생기는 10초 전으로 이동, 10초 후로 이동, 오프닝 건너뛰기 3가지 기능을 지원합니다. 각 기능이 수행하는 작업은 다음과 같습니다.10초 전으로 이동: 사용자가 "prev" 명령을 입력할 경우 동영상의 재생 위치를 현재 위치에서 10초 전으로 이동합니다. 현재 위치가 10초 미만인 경우 영상의 처음 위치로 이동합니다. 영상의 처음 위치는 0분 0초입니다.10초 후로 이동: 사용자가 "next" 명령을 입력할 경우 동영상의 재생 위..
[Algorithm] 최단 거리 알고리즘 종류 총정리(다익스트라, 플로이드, 벨만포드) with Python
·
코딩테스트 준비/알고리즘 개념
다익스트라, 벨만포드, 플로이드 워셜은 모두 최단 거리를 구할 때 사용하는 알고리즘입니다.사실 공부한거 나중에 까먹으면 한눈에 보고 싶을 것 같아서 포스팅으로 정리한 건데잘못된 부분이 있다면 댓글로 따끔하게 일침 부탁드립니다. 감사합니다. ▶ 다익스트라 알고리즘 (백준 1753번 최단경로 문제에서 나온 예제입니다.) 다익스트라 알고리즘은 엣지값이 양수일때만 사용이 가능하고 시작점에서 다른 모든 노드까지의 최단 거리를 구합니다.최단 거리 리스트는 1차원 리스트로 출발 노드는 0, 나머지는 무한대로 초기화해주고,그래프는 인접 리스트 [[] for _ range(n)] 형태로 생겼습니다.visited = [False] * (n+1) # 방문 여부 리스트graph = [[] for _ in range(n+1)..
[백준] 11404번 플로이드 워셜 알고리즘 설명 - 파이썬 with python
·
코딩테스트 준비/문제풀이
백준 11404번 문제는 제목도 플로이드, 코드도 플로이드 알고리즘을 쓰면 된다. https://www.acmicpc.net/problem/11404 문제  설명 플로이드 워셜 알고리즘의 핵심 이론은 출발지점에서 도착지점까지 최단 경로가 있을때,최단 경로 위에 경유지가 있다면 출발지점~경유지, 경유지~도착지점도 최단 경로가 된다.그래서 플로이드 워셜 점화식은 D[s][e] = min(D[s][e], D[s][k] + D[k][e]) 가 된다. 1. 출발지점과 도착지점이 같으면 0, 다르면 무한대로 초기화한다.2. 최단거리 이중리스트에 input 값을 넣어준다.3. 점화식으로 최단거리 리스트를 업데이트 한다. ※ 플로이드 워셜 알고리즘 로직은 외우도록 한다.for 경유지 k (노드갯수):     for 출..
[백준] 11657번 타임머신 | 벨만 포드 알고리즘 파이썬 Python
·
코딩테스트 준비/문제풀이
백준 11657번 타임머신 문제는 최단거리 알고리즘 중에서 벨만 포드를 써야 한다.문제에 버스 시간 C가 양수가 아닌 경우가 있기 때문에 다익스트라 알고리즘은 사용할 수 없다. 다익스트라는 가중치가 양수일 때만, 음수가 있는 경우는 벨만 포드를 쓴다. https://www.acmicpc.net/problem/11657 문제   설명 최단 거리 알고리즘(다익스트라, 벨만포드, 플로이드)의 총정리는 알고리즘 카테고리에서 다뤘으니여기선 문제에 대한 분석만 하겠다. 1. 최단 거리 리스트는 출발 노드만 0, 나머지는 무한대로 초기화한다.dist = [float('inf')] * (n+1)dist[1] = 0  2. 벨만 포드는 엣지가 중심이므로 엣지에 대한 그래프를 만든다.graph.append([start,e..
[겨울 여행] 서울 근교 가볼만한 곳 | 크리스마스 테마파크 루덴시아 후기
·
여행/국내
안녕하세요:) 겨울에 눈 오는 날서울 근교 당일치기 여행으로가볼만한 곳을 소개해 드릴게요! 바로 여주에 있는 크리스마스 분위기테마파크 루덴시아 입니다. 남자친구랑 크리스마스 기념으로나들이 삼아 데이트를 다녀왔는데여주까지 드라이브하며 테마파크구경도 하고 당일로 놀다오기 최고였어요♡  전날에 눈이 와서눈 쌓인 풍경이정말 예쁘더라고요. 낮과 밤 분위기 모두 느껴보고 싶어서오후 4시쯤 도착하도록 계획을 짰어요.  해가 저물어 가는 저녁 시간대에크리스마스 장식으로 꾸며진 집의빨간 벽돌과 노란 조명 조합이환상적으로 아름답게 느껴졌어요. 바람이 매섭게 불어서 꽤 추운 날씨였지만눈에 담기는 루덴시아 마을만큼은포근하고 따뜻한 분위기였어요. 사진으로만 보면 마치눈이 하얀 이불처럼 보이네요:)  루덴시아에는 곳곳에 포토존이..
[알고리즘/파이썬] 유클리드 호제법 - 최대공배수 최대공약수 쉬운 설명
·
코딩테스트 준비/알고리즘 개념
학교에서 배운 최대공배수 구하는 방법과유클리드 호제법 알고리즘을 사용해서 코드를 구현하는 방법은 다르다. 나처럼 유클리드 호제법이 뭔데? 라고 생각한 분들을 위해5분 안에 쉽게 이해되도록 설명해보겠다. 최소공배수를 구하는 공식에 최대공약수가 들어가므로최대공약수 먼저 알아보겠다.  ※ 유클리드 호제법 - 최대 공약수 유클리드 호제법은 두 자연수의 최대 공약수를 구하는 알고리즘이다.먼저 MOD 연산을 알고 있어야 하는데 MOD는 두 수의 나머지를 구하는 연산이다.예를 들어 파이썬에서 나머지를 구하는 연산은 % 이며, 10 % 6 = 4 가 나온다. 유클리드 호제법으로 108과 138의 최대공약수를 구해보겠다.이해하기 쉽게 그림으로 풀어봤다.  1. 큰 수를 작은 수로 MOD 연산 실행2. 전 단계에서의 작은..