분류 전체보기
-
백준(BOJ) 16234번 인구 이동알고리즘 풀이/백준(Boj) 2019. 11. 22. 16:03
문제 : https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모든 나라는 1×1 크기이기 때문에, 모든 국경선은 정사각형 형태이다. 오늘부터 인구 이동이 시작되는 날이다. 인구 이동은 다음과 같이 진행되고, 더 이상 아래 방법에 의해 인구 이동이 없을 때까지 지속된다. 국경선을 공유하는 두 나라의 인구 차이가 L명 www.acmicpc.net 풀이 : 연합이 될 수있는 칸들을 BFS를 통해서 탐색한다. 연합이 자기 자신을 제외하고 하나라도 있다면 ans를 +1 해주..
-
프로그래머스 - 전화번호 목록알고리즘 풀이/프로그래머스 2019. 11. 21. 19:31
문제 : https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 | 프로그래머스 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 r programmers.co.kr 풀이 : 하나의 전화번호 목록을 기준으로 잡고 완전 탐색을 ..
-
mongoDB 튜토리얼 6. 레플리카 셋DB/MongoDB 정리 2019. 11. 19. 11:33
복제(replication) 어떤 기억 장소에서, 데이터를 원형대로 읽어 내어 그 데이터를 동일한 물리적 형식으로 다른 기억 장소에 써넣는 것 데이터를 여러 db서버에 분산하여 저장 관리하는 기술 - the process of synchronizing data across multiple servers -provides redundancy and increases data availability with multiple copies of data on different database servers protects a database from the loss of a single server. - fault tolerance - allows you to recover from hardware failur..
-
12. 임계구역과 세마포어운영체제/운영체제 정리 2019. 11. 18. 00:50
임계 구역 (Critical-Section Problem) 이란 - 멀티 스레드로 이루어진 환경에서 각각의 스레드는 어떤 코드 영역을 가지고 있는데 그 영역은 스레드들이 공통으로 사용하는 변수나 테이블이나 파일을 업데이트하는 부분이다. 이 영역을 임계 구역이라고 한다. 그렇다면 이런 임계구역을 어떻게 해결해야 할까? 1. 상호배타( Mutual exclusion ) - 오류가 일어나지 않으려면 공통된 부분의 update는 상호 배타적이어야 한다. 한 스레드가 공통으로 사용하는 변수를 업데이트 다 한 후에야 다른 스레드가 접근할 수 있다. 즉 오직 한 스레드만 진입할 수 있다. 2. 진행 ( Progress ) - 이 임계 구역에 누가 먼저 들어갈 것인가 하는 결정은 유한 시간 내에 결정되어야 한다. 3...
-
백준(BOJ) 14890번 경사로알고리즘 풀이/백준(Boj) 2019. 11. 16. 04:25
문제 : https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 : 단순히 문제에 주어진 대로 따라하는 시뮬레이션 문제였다. 행과 열을 한줄씩 담아서 경사로를 확인하는 함수에 넣어서 처리하자. 조건들을 주의하면서 푼다면 무리없이 풀 수 있었다. 자세한 것은 주석을 확인 코드 ( C++ )
-
백준(BOJ) 17135번 캐슬 디펜스알고리즘 풀이/백준(Boj) 2019. 11. 13. 23:11
문제 : https://www.acmicpc.net/problem/17135 17135번: 캐슬 디펜스 첫째 줄에 격자판 행의 수 N, 열의 수 M, 궁수의 공격 거리 제한 D가 주어진다. 둘째 줄부터 N개의 줄에는 격자판의 상태가 주어진다. 0은 빈 칸, 1은 적이 있는 칸이다. www.acmicpc.net 풀이 : 1. 맨 마지막 칸은 m개의 자리 중 3개의 궁수를 골라야 한다. 따라서 picked 배열을 이용해서 m개의 수중 3개를 뽑아서 궁수 표시를 해주자. 2. 궁수들은 쏠때 한 적을 여러 명이 공격할 수 있으므로 각각 공격이 아닌 한 번에 조준해서 발사하도록 하자. 이때 중복된 적은 1번만 세준다. 3. 조준할 때는 거리가 같다면 가장 왼쪽에 있는 적을 골라야 한다. 따라서 compare 함수..
-
프로그래머스 - 네트워크알고리즘 풀이/프로그래머스 2019. 11. 13. 20:57
문제 : https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 | 프로그래머스 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크 programmers.co.kr 풀이 : 기본 DFS문제로 DFS를 통해 연결돼있는 컴포넌트가 몇..
-
프로그래머스 - 소수 찾기알고리즘 풀이/프로그래머스 2019. 11. 13. 20:55
문제 : https://programmers.co.kr/learn/courses/30/lessons/42839 코딩테스트 연습 - 소수 찾기 | 프로그래머스 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. 013은 0, 1, 3 숫자가 적힌 종이 programmers.co.kr 풀이 : picked 배열은 numbers의 1부터 number..