CS

CS/알고리즘 문제 풀이

[백준] 7576 - 토마토 [Python(파이썬)]

문제 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 풀이 유사한 문제를 이미 풀어본 적이 있다. BFS문제였다. 다만, 탐색을 시작할 좌표(g[i][j] == 1)가 여러 개이기 때문에 탐색을 시작하기 전에 이 좌표들을 모두 큐에 담아주는 것이 중요했다. 좌표를 모두 큐에 담지 않으면 최적해를 구할 수 없다. 처음 입력을 받을 때부터 큐에 담아주면 좀 더 빠르게 탐색을 진행할 수 있다. 코드

CS/알고리즘 문제 풀이

[백준] 2178 - 미로탐색 [Python(파이썬)]

문제 https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 풀이 이 문제는 최단 거리를 구하는 문제이기 때문에 너비우선탐색을 적용해서 풀어야 하는 문제다. 문제 자체는 아주 단순하다. 너비우선탐색 시 enqueue를 할 땐 큐에 좌표와 함께 누적 거리+1(dist+1)을 삽입해주고, pop할 때는 현재 방문한 좌표를 확인해서 목적지에 도달했는지 확인한다. 만약 도달하지 않았다면 계속해서 탐색을 진행하고, 도달했다면 누적 거리(dist)를 반환하면 된다. 코드 import sys i..

CS/알고리즘 문제 풀이

[백준] 2667 - 단지번호붙이기 [Python(파이썬)]

문제 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 풀이 이전 문제인 바이러스가 1차원 리스트 형태(정확히는 인접 리스트)의 그래프 탐색이었다면, 이 문제는 2차원 리스트 형태의 그래프 탐색이라고 할 수 있다. 이런 문제 유형의 경우 탐색할 방향을 좌표의 형태로 리스트에 담아놓은 후 for문을 통해 4방향 탐색을 진행하면 된다. 그 다음엔 조건문을 통해 다음에 방문할 노드가 범위를 초과하는지 체크한 후, 방문 여부를 결정하면 된다. 나는 재귀 ..

CS/알고리즘 문제 풀이

[백준] 2606 - 바이러스 [Python(파이썬)]

문제 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 풀이 이 문제는 가장 기초적인 그래프 탐색 문제다. 1번 노드부터 시작해서 깊이 우선 탐색을 시작하며, 노드를 방문할 때마다 횟수(cnt)를 1씩 증가시킨다. 문제의 조건에 "1번 컴퓨터를 통해 웜 바이러스에 걸리게 되는 컴퓨터의 수를 첫째 줄에 출력한다."라고 명시되어있으므로 1번 컴퓨터를 제외한 방문 횟수(cnt-1)를 출력하면 된다. 코드 import sys import collections..

CS/SQL

[SQLD] SQLD 합격 후기 및 공부 방법

1. 시험 결과 3월 20일에 치뤘던 제40회 SQL 개발자(SQLD) 시험 결과가 드디어 나왔다. 결과는 다행히도 86점으로 합격을 했고, 과락을 훨씬 웃도는 생각보다 높은 점수를 받아서 놀랐다. 1과목 데이터 모델링의 이해는 객관식으로 10문제, 2과목 SQL 기본 및 활용은 객관식과 단답형으로 40문제가 출제된다. 합격 기준은 1과목+2과목 합쳐서 60점이고, 만약 둘 중 한 과목이라도 40% 미만으로 점수를 취득하게 된다면 불합격이다. 2. 공부 방법 시험 준비 전 나는 데이터베이스 수업을 들은 적이 있고, 구글링과 함께 간단한 쿼리문을 작성할 수 있는 상태였다. 준비 기간은 대략 2주 정도였고, 학교 수업 + 아르바이트로 인해 평일은 약 1~2시간 정도 공부했고, 그나마 여유가 있는 주말에는 3..

코택
'CS' 카테고리의 글 목록 (6 Page)