728x90
반응형

로밍맨 73

백준 1976번 문제(여행 가자) 파이썬(Python) 풀이 [로밍맨]

문제 링크 www.acmicpc.net/problem/1976 1976번: 여행 가자 동혁이는 친구들과 함께 여행을 가려고 한다. 한국에는 도시가 N개 있고 임의의 두 도시 사이에 길이 있을 수도, 없을 수도 있다. 동혁이의 여행 일정이 주어졌을 때, 이 여행 경로가 가능한 것인 www.acmicpc.net 정답 코드는 아래와 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 def find(i, rst): if rst[i] != i: rst[i] = find(rst[i], rst) return rst[i] def union(i, j, rst): x = find(i, rst) y = fin..

백준 1546번 문제(평균) 파이썬(Python) 풀이 [로밍맨]

문제 링크 www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 정답 코드는 아래와 같습니다. 1 2 3 4 5 6 7 n = int(input()) arr = [int(x) for x in input().split()] M = max(arr) s = 0 for item in arr: s += ((item/M) * 100) print(s/n) cs 모든 값에 대해서 특정한 연산을 적용하고 평균을 구하는 문제입니다. 요구하는대로 특정한 연산을 적용하고 평균을 ..

백준 1504번 문제(특정한 최단 경로) 파이썬(Python) 풀이 [로밍맨]

문제 링크 www.acmicpc.net/problem/1504 1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존 www.acmicpc.net 정답 코드는 아래와 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 import sys import math import heapq def dijkstra(graph, n, source, sink1, sink2):..

백준 1298번 문제(노트북의 주인을 찾아서) 파이썬(Python) 풀이 [로밍맨]

문제 링크 www.acmicpc.net/problem/1298 1298번: 노트북의 주인을 찾아서 어느 날 모든 학생들은 한 명이 한개의 노트북을 가지고 공부하던 도중, 자리를 바꾸다가 그만 노트북이 뒤섞이고 말았다. 대다수의 학생들은 자신의 노트북을 잘 알고 있어서 자신의 노트북을 www.acmicpc.net 정답 코드는 아래와 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 import sys import collections import math SOURCE =..

백준 1181번 문제(단어 정렬) 파이썬(Python) 풀이 [로밍맨]

문제 링크 www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 정답 코드는 아래와 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #!/bin/python3 N = 51 def solve(): n = int(input()) arr = [set() for _ in range(N)] for _ in range(n): a = input() arr[len(a)].add(a) for i in range(N): for item i..

백준 1157번 문제(단어 공부) 파이썬(Python) 풀이 [로밍맨]

문제 링크 www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 정답 코드는 아래와 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 def solve(): s = input() s = s.upper() hist = {} for c in s: if c in hist.keys(): hist[c] += 1 else: hist[c] = 1 big = 0 for key in hist.keys(): big = max(big, hist..

백준 1152번 문제(단어의 개수) 파이썬(Python) 풀이 [로밍맨]

문제 링크 www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 www.acmicpc.net 정답 코드는 아래와 같습니다. 1 2 s = input().split() print(len(s)) cs 일반적으로 입력 받을 때 사용하는 split 함수를 이용하여 배열에 저장하게 되면 그 배열의 길이 자체가 단어의 갯수가 된다는 특성을 이용한 풀이입니다. 풀이는 아래 영상을 참고 바랍니다. www.youtube.com/watch?v=En4_uZcS_eY 저작권 라이선스: CC BY (출처만 표시..

백준 1018번 문제(체스판 다시 칠하기) 파이썬(Python) 풀이 [로밍맨]

문제 링크 www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 정답 코드는 아래와 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 N = 8 str1 = "WBWBWBWB" str2 = "BWBWBWBW" pivot1 = [ str1, str2, str1, str2, str1, str2, str1, str2 ] pivot2 = [ str2, str1..

백준 1010번 문제(다리 놓기) 파이썬(Python) 풀이 [로밍맨]

문제 링크 www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 정답 코드는 아래와 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 def facto(x): if x == 0 or x == 1: return 1 else: return x * facto(x-1) def comb(n, r): return int(facto(n) / (facto(r) * facto(n-r))) def solve(): a, b = [int(x) for..

728x90
반응형