본문 바로가기

분류 전체보기

(92)
[Python] 프로그래머스 level3 외벽 점검 programmers.co.kr/learn/courses/30/lessons/60062 코딩테스트 연습 - 외벽 점검 레스토랑을 운영하고 있는 "스카피"는 레스토랑 내부가 너무 낡아 친구들과 함께 직접 리모델링 하기로 했습니다. 레스토랑이 있는 곳은 스노우타운으로 매우 추운 지역이어서 내부 공사를 하 programmers.co.kr 풀이 방법 어떤 친구들 먼저 처리할지 순서가 매번 다르기 때문에 permutation함수를 이용해서 dist의 모든 순서를 다 고려해준다. -> dist = [3, 5, 7]일 때, [3, 5, 7], [3, 7, 5], [5, 3, 7], .... 모두 고려 각 dist에 대해서 dijkstra를 이용해 모든 취약점을 방문하는 최소 친구 수를 구한다. 그래프의 방문을 이용할..
[Python] 백준 17144 : 미세먼지 안녕! www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 풀이 방법 적혀있는 대로 구현하면 돼서 비교적 쉬운 문제였다. 미세먼지 확장 : 모든 곳 방문하면서 인접한 곳에 a//5더해주고, a-(a//5)*cnt 해주는 함수 만들기 = diffusion 공기 청정기 작동 : 공기청정기 위에서 시작해서 반시계 방향순환, 아래에서 시작해서 반시계 방향순환 = clean 전체 코드 r, c, t = map(int, input().split()) room = [] for i..
[Python] 프로그래머스 level3 카드 짝 맞추기 programmers.co.kr/learn/courses/30/lessons/72415 코딩테스트 연습 - 카드 짝 맞추기 [[1,0,0,3],[2,0,0,0],[0,0,0,2],[3,0,1,0]] 1 0 14 [[3,0,0,2],[0,0,1,0],[0,1,0,0],[2,0,0,3]] 0 1 16 programmers.co.kr 풀이 방법 정답률이 0.95%인 6번 문제였다..... 어쩐지 어렵더라 처음 잘못 생각했던 것 : 나는 2번 지우고 가장 가까운 다음 카드로 가서 그거 지우고, 지운 후 위치에서 가장 가까운데 가서 또 지우고,... 를 반봅했다. 가장 가까운데를 찾아다니면 최소 비용이 나올거라 생각했다. -> X 모든 순열에 대해서 생각해 줘야한다. 1, 2, 3번 카드가 있다면 1-2-3, 1..
[TDD 공부-java] 2) 테스트 코드 작성 순서 익히기 오늘은 테스트 코드의 작성 순서와 왜 그런 순서를 따라야 하는지에 대해서 공부했다. 또, 실습을 위한 프로젝트의 기능명세서를 작성하고 어떻게 구현해야 할지에 대한 구상을 했다. 테스트 코드의 작성 대상 정하기 아래 두 가지 규칙에 따라서 어떤 기능의 테스트 코드부터 작성할지 결정한다. 구현하기 쉬운 경우에서 어려운 경우로 진행 빠르게 테스트를 통과시키기 위하여 ex. 테스트 해야할 기능이 아래와 같이 3가지가 있을 때, 아래와 같은 순서로 작성한다. 모든 규칙을 충족하는 경우가 구현하기 가장 쉬울 것이고, 1번으로 구현한 것에서 한 가지면 변형되는 2번을 그 다음으로 작성, 마지막으로 3을 작성한다. 모든 규칙을 충족하는 경우 길이만 8글자 미만이고 나머지 규칙을 충족하는 경우 길이가 8글자 이상인 규칙..
[Python] 백준 16236 : 아기 상어 www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 풀이 방법 물고기를 먹으러갈 때마다 bfs로 이동한다. bfs로 이동하고 이동한 칸 수 만큼 answer에 더해준다. 현재 상어의 크기 만큼 물고기를 먹었으면 상어의 크기 + 1해준다. 틀렸던 부분 ) "먹을 수 있는 물고기가 1마리보다 많다면, 거리가 가장 가까운 물고기 -> 가장 위에 -> 가장 왼쪽에" : 이 부분 구현은 bfs와 move의 순서 조정으로 할 수 있을 줄 알았는데, 먹을 수 있는 물..
[IntelliJ] git repository 변경 상단 메뉴의 [Git] - [Git Repmotes] 클릭 하면 Git Remotes창이 뜬다. 이때 왼쪽 하단에 연필모양 편집 버튼을 눌러 아래와 같이 url을 변경해주면 된다. 바로 적용이 안된다면 intellij를 껐다 키면 반영이 되어있다. 이때 맞는 repository에 연결되어 있는지 확인하려면 [Git]-[Github]-[Open on GitHub]을 클릭(아래 사진 참고) 인터넷 창으로 맞는 깃 주소가 나왔다면 성공이다.
[Python] 프로그래머스 level3 기둥과 보 설치 코딩테스트 연습 - 기둥과 보 설치 5 [[1,0,0,1],[1,1,1,1],[2,1,0,1],[2,2,1,1],[5,0,0,1],[5,1,0,1],[4,2,1,1],[3,2,1,1]] [[1,0,0],[1,1,1],[2,1,0],[2,2,1],[3,2,1],[4,2,1],[5,0,0],[5,1,0]] 5 [[0,0,0,1],[2,0,0,1],[4,0,0,1],[0,1,1,1],[1,1,1,1],[2,1,1,1],[3,1,1,1],[2,0,0,0],[1,1,1,0],[2,2,0,1]] [[ programmers.co.kr 풀이 과정 보와 기둥의 설치 조건을 빠트리지만 않으면 되는 문제다. 삭제할 때는 삭제를 하고, 조건에 안 맞는 기둥이나 보가 있는지 확인하고, 있다면 다시 삭제하기 전으로 되돌리는 게 ..
[Python] 백준 16235 : 나무 재테크 16235번: 나무 재테크 부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어 놓았다. 각각의 칸은 (r, c)로 나타내며, r은 가장 위에서부터 www.acmicpc.net 문제에 나온 그대로 봄,여름,가을,겨울을 구분하여 구현하면 된다. 전체 코드 move = [(0,1),(0,-1),(1,0),(-1,0),(1,1),(-1,-1),(1,-1),(-1,1)] def spring(): temp = [[0]*N for _ in range(N)] for i in range(N): for j in range(N): if not tree[i][j]: continue new = [] for x in range(len(tree[..