본문 바로가기

Study

(35)
독서 후기 : 세계 경제가 만만해지는 책 저번 연도부터 주식, 투자에 관심이 가기 시작했고 그로인해 경제에 대해서도 흥미를 가지기 시작했다. 하지만, 경제에 대한 용어나 간단한 지식이 미흡하다고 생각하여 이를 보충하고자 위 책을 선정하여 읽게되었다. 목차로 새로운 세계 경제를 이해하는 기초 지식, 세계 경제는 어떻게 내 지갑을 조종하는가, 디지털 컨택트가 우리의 경제 생활을 좌우한다, 무역, 세계 경제의 뒷 모습, 미래 경제 순으로 진행된다. 책의 흐름은 처음에 경제 사례를 보여주고 책 중간마다 경제 용어에 형광펜을 친다. 이 용어는 후에 챕터가 끝날때 다시한번 서술해줘서 어려운 경제 용어에 대해 이해를 할 수 있다. 책을 읽고나서 느낀점은, 세계 경제는 서로 얽혀있고 복잡하게 돌아간다는 점을 다시한번 느꼈다. 특히 핫머니 유입등 내가 알지못하..
[프로그래머스/BFS] 2021 카카오 인턴십 - 거리두기 확인하기 [프로그래머스] 2021 카카오 인턴십- 거리두기 확인하기 안녕하세요, 오늘은 프로그래머스에서 카카오 인턴십 "거리두기 확인하기"를 풀어보았습니다. 예전부터 풀려고 노력했으나 BFS/DFS 개념이 확립되지 않은 상태로 풀려고 하니까 시간도 오래걸리고 헷갈려서 잠깐 보류했던 문제였습니다. 백준에서 BFS/DFS 개념을 숙달하고 풀이해보니까 확실히 쉽게 풀 수 있었던 것 같습니다. 문제 https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX",..
[BFS/구현] 백준 16236 아기상어 풀이 문제 https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 난이도 Gold 3 풀이 1. 아기상어 객체를 담은 클래스를 선언했다. 이 클래스는 현재 위치(a,b), 현재 크기(size), 현재 이동거리(distance). cnt(먹은 물고기 갯수)를 담고있고, eatShark() 메서드는 물고기를 먹을때, 먹은 물고기 갯수를 비교해 자신의 사이즈와 동일한 물고기를 먹으면 사이즈 업 하는 메서드이다. 2. 아기상어가 먹을 수 있는 물고기의 위치..
[백트래킹/BFS/완탐] 백준 14502번 연구소 풀이 문제 https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 풀이 1. 백트래킹을 이용하여 promising() (상,하,좌,우 또는 대각선에 벽 또는 바이러스가 있는지 검사하는 함수)가 true로 반환되면 벽(1)을 세우고 벽이 3개 세워질때까지 반복한다. 2. 벽이 3개 세워지면 bfs() 함수를 통해 바이러스 침투 경로를 확인하고, 안전한 공간의 갯수를 카운트 센 다음, max값이랑 비교 후 max값 대체 소스코드 import java.io.BufferedR..
[완전탐색] 백준 1051 숫자 정사각형 풀이 문제 N×M크기의 직사각형이 있다. 각 칸에는 한 자리 숫자가 적혀 있다. 이 직사각형에서 꼭짓점에 쓰여 있는 수가 모두 같은 가장 큰 정사각형을 찾는 프로그램을 작성하시오. 이때, 정사각형은 행 또는 열에 평행해야 한다. 입력 첫째 줄에 N과 M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 수가 주어진다. 출력 첫째 줄에 정답 정사각형의 크기를 출력한다. 풀이 1. (a, b) 좌표 정보를 담고 있는 Node 클래스를 생성한다. 2. 입력받은 배열의 가로길이와 세로길이중 더 작은 것을 min에 저장한다. 3. process 함수를 통해서 재귀를 실시한다. 4. size (정사각형 크기)가 min이랑 같을 경우 종료한다. 5. 만약 4개의 꼭짓점의 값이 같다면 값을 ..
[BFS] 백준 1012 유기농 배추 풀이 문제 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다. 한 배추의 상하좌우 네 방향에 다른 배추가 위치한 경우에 서로 인접해있는 것이다. 한나가 배추를 재배하는 땅은 고르지 못해서 배추를 군데군데 심어 놓았다. 배추들이 모여있는 곳에는 배추흰지렁이가 한 마리만 있으면 되므로 서로 인접해있는 배추들이 몇 군..
[재귀] 백준 2331 반복수열 풀이 문제 다음과 같이 정의된 수열이 있다. D[1] = A D[n] = D[n-1]의 각 자리의 숫자를 P번 곱한 수들의 합 예를 들어 A=57, P=2일 때, 수열 D는 [57, 74(=52+72=25+49), 65, 61, 37, 58, 89, 145, 42, 20, 4, 16, 37, …]이 된다. 그 뒤에는 앞서 나온 수들(57부터가 아니라 58부터)이 반복된다. 이와 같은 수열을 계속 구하다 보면 언젠가 이와 같은 반복수열이 된다. 이때, 반복되는 부분을 제외했을 때, 수열에 남게 되는 수들의 개수를 구하는 프로그램을 작성하시오. 위의 예에서는 [57, 74, 65, 61]의 네 개의 수가 남게 된다. 입력 첫째 줄에 A(1 ≤ A ≤ 9999), P(1 ≤ P ≤ 5)가 주어진다. 출력 첫째 줄에..
Quick DBD 사용후기 얼마전에 졸업프로젝트로 ERD 설계를 할 때, 어떤 툴로 ERD 설계를 할까 고민하다가 다른 제품의 툴을 사용해 작성해본적이 있었다. 완성해보고 보니까 디자인이 별로였고 SQL 쿼리로 관계를 작성하는게 아니라 디자인 툴로 작성하다 보니 쿼리 명령어는 어떻게 쳐야되고, 또 테이블간 관계에 대해 애매모호함이 많았다. 그렇게 아쉬움만 남긴뒤 얼마전 활동하고 있는 동아리(UMC) 3주차 강의에서 QUICK DBD라는 ERD 툴이 있다는 것을 소개하였다. 쿼리로 작성한 코드를 시각적으로 볼 수 있다는 점과 무엇보다 UX가 매우 부드럽고 깔끔하다는 점에서 매료되었다. 그래서 기존 ERD를 QUICK DBD를 사용해 다시 작성해볼 계획이다. QUICK DBD는 디자인이 정말 깔끔하고 예쁘다. FIle -> Color..