알고리즘/백준(BOJ)

    [백준/BOJ/알고리즘/DFS/그래프/파이썬(python)/C++]#2606_바이러스

    https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 그래프 이론(DFS/BFS)로 간단하지만 반례 때문에 좀 애를 먹었다. root를 빼고 계산해야한다. 트리처럼 상위하위노드는 고려안해도 그래프로 간단하게 풀 수 있는 문제다. 원래는 for문을 main에서 돌리고 DFS함수에서도 for문을 또 돌려서 visited를 확인했는데, 그러니 반례와 자꾸 답이 다르게 나와서 for문을 지우고 노드1로 DFS를 호출해서 거기서만 for문을 돌리니 오류가 없었다...

    [백준/BOJ/알고리즘/파이썬(python)]#2621_카드게임

    https://www.acmicpc.net/problem/2621 2621번: 카드게임 근우는 오늘 재미있는 카드 게임을 배우고 있다. 카드는 빨간색, 파란색, 노란색, 녹색의 네 가지 색이 있고, 색깔별로 1부터 9까지 숫자가 쓰여진 카드가 9장씩 있다. 카드는 모두 36(=4x9)장이다. www.acmicpc.net 단순 구현 문제로 꼼꼼함이 가장 결국 중요한...그런 문제다. 풀면서도 규칙 9개나 되는거..너무 귀찮고...생각보다 오래걸렸다 케이스 하나하나 따지다보니 너무 귀찮아서 예제 안 돌리고 그냥 제출했더니 틀리더라 연속적 숫자인 경우가 거꾸로인 경우를 생각 못했다. 귀찮아도 예제 하나하나 입력해보는 게 결국 오류를 줄이는 것 같다. C++은 도저히... 귀찮아서 못 하겠다.. 다음에... 파..

    [백준/BOJ/알고리즘/파이썬(python)/C++/그리디/정렬]#1449_수리공 항승

    https://www.acmicpc.net/problem/1449 1449번: 수리공 항승 첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나 www.acmicpc.net 그리디 알고리즘과 정렬 알고리즘 정렬은 파이썬과 c++ 모두 STL 라이브러리로 한줄로 쉽게 끝난다. 정렬을 함으로써 그리디 알고리즘을 쉽게 구현할 수 있습니다. 파이썬 코드 #1449 N, L = map(int, input().split()) leak = list(map(int, input().split())) leak.sort() start = leak[0] end = leak..

    [백준/BOJ/알고리즘/파이썬(python)/C++/String]#1652_누울 자리를 찾아라

    https://www.acmicpc.net/problem/1652 1652번: 누울 자리를 찾아라 첫째 줄에 방의 크기 N이 주어진다. N은 1이상 100이하의 정수이다. 그 다음 N줄에 걸쳐 N개의 문자가 들어오는데 '.'은 아무것도 없는 곳을 의미하고, 'X'는 짐이 있는 곳을 의미한다. www.acmicpc.net 문자열을 다루는 문제다. 파이썬에서는 운좋게 넘어간건지 문제가 없었는데, C++에서는 처음에 지나간 자리인지 아닌지 체크해야하는 bool을 넣어야 오류가 안 났다. 파이썬 코드 n = int(input()) cnt_w = 0 cnt_h = 0 room = [] bed = [0,0] for i in range(n): #get input room.append(list(map(str,input..

    [백준/boj/알고리즘/파이썬(python)/C++/DFS]#11724:연결요소의 개수

    https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 그래프이론_너비우선탐색, 깊이우선탐색 BFS DFS 문제 나는 DFS를 이용하여 풀었다. (BFS까지 나중에 풀어봐야지!) 파이썬 코드에서 계속 시간초과가 나서 그 원인을 보니 input() 이었다. 백준에서는 input()함수가 시간초과가 잘 난다고 하니 참고하시길..! sys 라이브러리 import해서 입출력하면 해결된다. 그리고 ..

    [백준/boj/알고리즘/파이썬]#9655:돌 게임

    https://www.acmicpc.net/problem/9655 9655번: 돌 게임 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net 백준 풀이가 너무 오랜만이라 쉬운문제인데도 한참을 고민했다. 예제가 5와 7인 경우 쭉 트리로 그려보았다. 베스킨라빈스31게임이랑 같은 원리다. 상대방이 해당 숫자가 걸리면 내가 무조건 이기거나 지거나. remain = int(input()) if remain % 2 == 0: print("CY") else: print("SK")