본문 바로가기

전체 글

(202)
[C++] 백준 2606번 - 바이러스 오늘도 dfs/bfs 문제~~ 문제 2606번 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하인 양의 정수이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍 www.acmicpc.net 이 문제는 dfs나 bfs로 풀면 되는 문제인데, 나는 그냥 bfs로 접근해 count를 1씩 증가시켜가며 문제를 해결하였다. 어제 공부해놔서 그런지 쉽게 풀렸다. #include #include #include #include using namespace std; bool visited[1001]; vector node[1001]; void bfs(int..
[C++] 백준 1260번 - DFS와 BFS 예전에 공부했지만 까먹은 DFS(깊이 우선 탐색)와 BFS(너비 우선 탐색) 문제를 풀어보려고 한다. DFS와 BFS는 그래프를 탐색하는 방법이다. 여기서 그래프는 정점과 그 정점을 연결하는 간선으로 이루어진 자료구조를 말한다. DFS는 최대한 깊이 내려간 뒤, 더 이상 깊이 갈 곳이 없을 경우 옆으로 이동한다. BFS는 최대한 넓게 이동한 다음, 더 이상 갈 수 없을 때 아래로 이동한다. 문제 1260번 https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다...
[C++] 백준 1300번 - K번째 수 지금까지 정렬 문제를 풀어봤는데 오늘부터 이분 탐색 문제를 풀어보려고 한다. 문제 1300번 https://www.acmicpc.net/problem/1300 1300번: K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B www.acmicpc.net 처음에는 벡터를 이용하여 풀어볼까 했는데 뭔가 어려운 느낌이 들어서 찾아보니 이런 식으로 푼 분도 있었다. #include #include #include using namespace std; int main() { int n,k; cin >> n >> k; int start..
[JS] 백준 3009번 - 네 번째 점 너무 졸려서 자버렸다... 얼른 해야지... 오늘은 자바스크립트를 할 것이다. 문제 3009번 https://www.acmicpc.net/problem/3009 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net 문제를 보니 3점의 각 x,y에서 2개가 같으면 나머지 1개의 점이 네 번째 점의 좌표가 될 것이다. 그러므로 정렬을 해준 후 비교해 첫 번째와 두 번째가 같으면 마지막 숫자를 아니면 첫 번째 숫자를 출력해주면 된다. const readFileSyncAdress = process.platform === 'linux' ? '/dev/stdin':'./input.txt' const inp..
[C++] 백준 1337번 - 올바른 배열 으... 너무 졸리다... 아직 시차적응이 안된건가...?? (아니면 그냥 피곤한걸수도) 얼른 끝내버리자~~~ 문제 1337번 https://www.acmicpc.net/problem/1337 1337번: 올바른 배열 첫째 줄에 배열의 크기 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 배열의 원소가 한 줄에 하나씩 주어진다. 원소는 1,000,000,000보다 작거나 같은 음이 아닌 정수이 www.acmicpc.net 처음에 문제를 읽고 그냥 없는 숫자를 추가하면 되는거 아닌가 하다가 이해를 잘못해서 이상하게 코드를 작성하였다. 그래서 다른 분의 풀이를 참고했다. #include #include #include using namespace std; int main() ..
[C++] 백준 2470번 - 두 용액 ... 드디어 돌아왔다. 약 2주전... 난 해외여행을 갔다 왔다. 우리나라와는 멀리 떨어진 나라여서 그런지 엄청 피곤하다... 너무 졸려서 눈이 저절로 감겼다. 역시... 여행도 체력이 필요한 것 같다. 그렇게 집으로 돌아와서 충전을 하다가... 뭔가 잊어버린 느낌이 들기 시작했다. 그렇다!!! 나에게는 해외에 가기 전, 하고 있던 스터디가 있었던 것이었다. 약 14시간 동안 비행기를 타고 돌아오니 그 사실을 까맣게 잊어버렸다... 그래서 스터디 인증 올리는 곳에 들어가 보니 나를 환영해 주는 글까지 있었다(감동). 얼른 써야지! 오늘 다시 복귀할 것이다 ㅎㅎ. 이제 다시 C++ 공부하다가 다음 공부로 넘어가야겠다. 그럼 스타트~~~ 문제 2470번 https://www.acmicpc.net/probl..
[JS] 백준 기하 - 1085번 문제 1085번 https://www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램 www.acmicpc.net 처음에는 무슨 소리인가 했는데 이런 뜻이였다. 이런 식으로 있는데 (x,y)에서 직사각형의 경계선싸지 가는 거리의 최솟값을 구하는 것이다. 그런데 최소거리는 (x,y)에서 직사각형의 각변에 수직으로 내렸을 때의 거리 중에 있다. 그래서 x,y,w-x,h-y 중에 가장 최소인 것을 고르면 될 것 같다. const readFileSyncAdress = process..
[JS] 백준 기하 - 27323번 오늘부터 '기하: 직사각형과 삼각형' 단계 차례이다. 내일 집으로 돌아가니까 오늘까지 핫스팟으로 얼른 해결해야겠다. 문제 27323번 https://www.acmicpc.net/problem/27323 27323번: 직사각형 정수 A, B 가 주어진다. 세로 길이가 A cm, 가로 길이가 B cm 인 아래와 같은 직사각형의 넓이를 cm2 단위로 구하시오. www.acmicpc.net 입력값을 A,B로 입력을 받고 A*B를 출력해주면 되는 간단한 문제이다. const readFileSyncAdress = process.platform === 'linux' ? '/dev/stdin':'./input.txt' const [A,B] = require("fs").readFileSync(readFileSyncAdr..