Github & Portfolio
Total(206)
-
[백준-11656] 접미사 배열 / Python
https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net s = input() data = [] for i in range(len(s)): data.append(s[i:]) data.sort() for element in data: print(element) 해설 간단한 정렬문제!
-
[2021-05-17] Today I Learned
👉 Blog - 티스토리 블로그 새로 만들기 - 스킨 적용, 편집 스킨 편집하는데 꽤나 시간이 걸렸다...😂 꾸준히 포스팅 하는게 목표!! 👉 Problem Solving 구현 1문제 백준 1475 - 방번호 BFS 2문제 백준 7576 - 토마토 백준 1697 - 숨바꼭질 정렬 2문제 백준 10610 - 30 백준 10825 - 국영수
-
[백준-10825] 국영수 / Python
https://www.acmicpc.net/problem/10825 10825번: 국영수 첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1 www.acmicpc.net n = int(input()) data = [list(input().split()) for _ in range(n)] data.sort(key=lambda x: (-int(x[1]), int(x[2]), -int(x[3]), x[0])) for s in data: print(s[0]) 해설 어려운 문제는 아니었다. lambda 사용해서 정렬해주면 끝!
-
[백준-10610] 30 / Python
https://www.acmicpc.net/problem/10610 10610번: 30 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한 www.acmicpc.net n = list(input()) n.sort(reverse=True) sumValue = 0 for i in n: sumValue += int(i) if sumValue % 3 != 0 or "0" not in n: print(-1) else: print("".join(n)) 해설 아이디어를 떠올리는데 조금 애를 먹었다.. 30의 배수는 일의 자리가 0이고, 이외 나머지 자리 수들의 합이 3으로 나..
-
[백준-1697] 숨바꼭질 / Python
https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net from collections import deque n, k = map(int, input().split()) graph = [0] * 100001 dx = [-1, 1, 2] def bfs(start): queue = deque() queue.append(start) while queue: x = queue.popleft() if x == k: print(graph[..
-
[백준-7576] 토마토 / Python
https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net from collections import deque n, m = map(int, input().split()) graph = [] for _ in range(m): graph.append(list(map(int, input().split()))) dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] queue = deque() def bfs(): while queu..