백준

    [백준] 17140번 : 이차원 배열과 연산(Python)

    [백준] 17140번 : 이차원 배열과 연산(Python)

    문제 크기가 3×3인 배열 A가 있다. 배열의 인덱스는 1부터 시작한다. 1초가 지날때마다 배열에 연산이 적용된다. R 연산: 배열 A의 모든 행에 대해서 정렬을 수행한다. 행의 개수 ≥ 열의 개수인 경우에 적용된다. C 연산: 배열 A의 모든 열에 대해서 정렬을 수행한다. 행의 개수 0,box[loop])) # 행에 있는 숫자들의 개수를 센다 count = Counter(box[loop]) # 행에 있는 숫자들(중복없는)을 num에 저장한다. num = list(set(box[loop])) # temp에 숫자와 숫자의 개수를 임시로 저장한다. for i in range(len(num)): temp.append([num[i],count[num[i]]]) # 숫자의 개수대로 오름차순 정렬하고 숫자의 개수가..

    [백준] 2217번 : 로프(Python)

    [백준] 2217번 : 로프(Python)

    문제 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하지만 여러 개의 로프를 병렬로 연결하면 각각의 로프에 걸리는 중량을 나눌 수 있다. k개의 로프를 사용하여 중량이 w인 물체를 들어올릴 때, 각각의 로프에는 모두 고르게 w/k 만큼의 중량이 걸리게 된다. 각 로프들에 대한 정보가 주어졌을 때, 이 로프들을 이용하여 들어올릴 수 있는 물체의 최대 중량을 구해내는 프로그램을 작성하시오. 모든 로프를 사용해야 할 필요는 없으며, 임의로 몇 개의 로프를 골라서 사용해도 된다. 입력 첫째 줄에 정수 N이 주어진다. 다음 N개의 줄에는 각 로프가 버틸 수..

    [백준] 1748번 : 수 이어 쓰기1

    [백준] 1748번 : 수 이어 쓰기1

    문제 1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다. 1234567891011121314151617181920212223... 이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다. 출력 첫째 줄에 새로운 수의 자릿수를 출력한다. 전체코드(Python) # 이어쓸 숫자를 입력 받는다. n = input() # 숫자의 길이를 size에 저장한다. size = len(n) # 숫자의 길이를 저장할 변수를 선언한다. result = 0 # 숫자의 길이보다 한자릿수 낮은 10의 size-1승을 n에서 빼준다 # 그래야만 숫자의 길이만큼 곱할 개수가 나온다. n = int..

    [백준] 11725번 : 트리의 부모 찾기(Python)

    [백준] 11725번 : 트리의 부모 찾기(Python)

    문제 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 노드의 개수 N (2 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N-1개의 줄에 트리 상에서 연결된 두 정점이 주어진다. 출력 첫째 줄부터 N-1개의 줄에 각 노드의 부모 노드 번호를 2번 노드부터 순서대로 출력한다. 전체코드(Python) # 정점의 개수를 입력 받는다. def bfs(tree,num,start): # 부모가 있는 애들을 담을 공간 box = [] box.append(start) # box에 담긴 모든 숫자가 없어질때까지 순회한다. while len(box)!=0: start = box.pop(0) while len(tree[start-1..

    [백준] 10026번 : 적록색약(Python)

    [백준] 10026번 : 적록색약(Python)

    문제 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록), B(파랑) 중 하나를 색칠한 그림이 있다. 그림은 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색으로 이루어져 있다. 또, 같은 색상이 상하좌우로 인접해 있는 경우에 두 글자는 같은 구역에 속한다. (색상의 차이를 거의 느끼지 못하는 경우도 같은 색상이라 한다) 예를 들어, 그림이 아래와 같은 경우에 RRRBB GGBBB BBBRR BBRRR RRRRR 적록색약이 아닌 사람이 봤을 때 구역의 수는 총 4개이다. (빨강 2, 파랑 1, 초록 1) 하지만, 적록색약인 사람은 구역을 3개 볼 수 있다...

반응형