본문 바로가기

psS2mj58

[BOJ] 10026. 적록색약 (Java) 문제 링크 / level: Gold V https://www.acmicpc.net/problem/10026 10026번: 적록색약 문제 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록), B(파랑) 중 하나를 색칠한 그림이 있다. 그림은 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색으로 이루어져 있다. 또, 같은 색상이 상하좌우로 인접해 있는 경우에 두 글자는 같은 구역에 속한다. (색상의 차이를 거의 느끼지 못하는 경우도 같은 www.acmicpc.net 내가 생각한 풀이 슬슬 BFS 문제들이 (특히 flood fill 문제) 비슷하다고 느껴져서 내.. 2020. 4. 20.
[BOJ] 4963. 섬의 개수 (Java) 문제 링크 / level: Silver I https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 문제 정사각형으로 이루어져 있는 섬과 바다 지도가 주어진다. 섬의 개수를 세는 프로그램을 작성하시오. 한 정사각형과 가로, 세로 또는 대각선으로 연결되어 있는 사각형은 걸어갈 수 있는 사각형이다. 두 정사각형이 같은 섬에 있으려면, 한 정사각형에서 다른 정사각형으로 걸어서 갈 수 있는 경로가 있어야 한다. 지도는 바다로 둘러싸여 있으며, 지도 밖으로 나갈 수 없다. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 www.acmicpc.net 내가 생각한 풀이 이 문제도 다른 사람이 만들어 둔 문제집에 있었던 문제다. 예전에 추천받았던 .. 2020. 4. 20.
[BOJ] 1743. 음식물 피하기 (Java) 문제 링크 / level: Silver I https://www.acmicpc.net/problem/1743 1743번: 음식물 피하기 문제 코레스코 콘도미니엄 8층은 학생들이 3끼의 식사를 해결하는 공간이다. 그러나 몇몇 비양심적인 학생들의 만행으로 음식물이 통로 중간 중간에 떨어져 있다. 이러한 음식물들은 근처에 있는 것끼리 뭉치게 돼서 큰 음식물 쓰레기가 된다. 이 문제를 출제한 선생님은 개인적으로 이러한 음식물을 실내화에 묻히는 것을 정말 진정으로 싫어한다. 참고로 우리가 구해야 할 답은 이 문제를 낸 조교를 맞추는 것이 아니다. 통로에 떨어진 음식물을 피해가기란 쉬운 일이 아 www.acmicpc.net 내가 생각한 풀이 오래간만에 BFS 문제, 특히 flood fill 문제를 보게 되었다. 반.. 2020. 4. 19.
[BOJ] 2193. 이친수 (Java) 문제 링크 / level: Silver III https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않는다. 이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다. 예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 0010101이나 101101은 각각 1, 2번 규칙에 위배되 www.acmicpc.net 내가 생각한 풀이 동적 계획법(DP) 문제를 하나만 더 풀어보자 싶어서 건드린 문제. 이것도.. 2020. 4. 19.
[BOJ] 1463. 1로 만들기 (Java) 문제 링크 / level: Silver III https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 내가 생각한 풀이 어제부로 동적 계획법(DP)의 세계에 발을 들이게 되었다. 이론은 공부했는데, 실제 문제를 풀어봐야할 것 같아서 초고수 형님들의 추천 문제부터 풀어보았다. 그 첫 번째 문제가 바로 이것! 동적 계획법은 쉽게 말해서 큰 것을 잘게 쪼개서 풀긴 푸는데, 앞에서 구한 값을 이용해서 내가 최종적으로 원하는 값을 구해내는 기법이다. 대표적인 예제는 피보나치 수열이 있다. 지금까지 피보나치 수열을 구할 때는 재귀함수로만 풀 줄 알았지....인 줄 알았으나 알.. 2020. 4. 17.
[BOJ] 1913. 달팽이 (Java) 문제 링크 / level: Silver V https://www.acmicpc.net/problem/1913 1913번: 달팽이 N개의 줄에 걸쳐 표를 출력한다. 각 줄에 N개의 자연수를 한 칸씩 띄어서 출력하면 되며, 자릿수를 맞출 필요가 없다. N+1번째 줄에는 입력받은 자연수의 좌표를 나타내는 두 정수를 한 칸 띄어서 출력한다. www.acmicpc.net 내가 생각한 풀이 예전에 SWEA의 D2 레벨에서 비슷한 유형의 문제를 풀었던 적이 있다. 그래서 오래간만에 복습 좀 할겸 BOJ에 있는 문제를 하나 풀어봤는데 꽤 헤매서 당황스러웠다. 디버깅까지 해보는 초유의 사태 발생...😥 문제는 심플하다. 입력값으로 N이 주어지면 N^2 사이즈의 이차원 배열을 하나 만들고 그 안을 1부터 N^2까지의 수로.. 2020. 4. 16.
[BOJ] 10757. 큰 수 A+B (Java) 문제 링크 / level: Bronze V https://www.acmicpc.net/problem/10757 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 내가 생각한 풀이 피보나치 수 시리즈 중 [10826. 피보나치 수 4] 문제를 풀어보려고 했는데, 숫자의 범위가 long type으로 커버가 안 될만큼 커졌다. 그래서 도저히 이 문제에 어떻게 접근해야 하는지조차 감이 잡히질 않아서 질문 검색을 통해 이런 저런 의견을 읽어보던 중, 누군가가 바로 이 문제(10757. 큰 수 A+B)는 풀어보았느냐- 이 문제부터 풀어봐라-라고 해서 도전해봤다. 이런건 남의 말 참 잘 듣쥬?😎 문제는 굉장히 단순하다. 그냥 inpu.. 2020. 4. 16.
[MySQL/개념] 데이터베이스(DB)란? DBMS? RDBMS? - 데이터베이스의 간단한 역사 아주 먼 옛날, 사람들은 저마다의 방식으로 데이터를 관리했기 때문에 통일성이 없었다. 그러던 중 바크만 아저씨가 최초의 데이터베이스를 고안해냈다나 뭐라나. 초기에는 데이터를 저장해놨다가 가져다 쓰는 것에 의의를 뒀다고 한다. 그러다가 관계형 데이터베이스가 등장!🙋‍♀️ - 관계형 데이터베이스란? 관계형 데이터베이스는 테이블을 이용하며, 테이블과 테이블 사이의 관계(relationship)를 이용해 데이터를 보다 효율적으로 뽑아낸다. 대표적인 것들은 오라클(Oracle), MySQL, Sybase 등등.. 그런데 정확히 이야기하면 데이터베이스라는 것은 존재하지 않는다. 다만, 데이터베이스 관리 시스템(DBMS: Database Management System)이 존재할 뿐. .. 2020. 4. 15.
[프로그래머스/SQL] 역순 정렬하기 (MySQL) 문제 링크 / level: 1 https://programmers.co.kr/learn/courses/30/lessons/59035 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 생각한 풀이 SQL 쿼리문을 짤 때는 딱 두 가지만 기억하면 된다. 어떤 정보를 뽑아올 것이며, 그 정보는 어느 테이블에 있는지. 여기에서는 추가적으로 ANIMAL_ID 순으로 정렬하라는 조건이 있으니 ORDER BY절을 이용해 마지막에 정렬해주기만 하면 된다. 참고로 아무런 속성값을 주지 않으면 자동으로 ASC(오름차순)이 적용되고, 이 문제에서처럼 내림차순(또는 역순)으.. 2020. 4. 14.