[백준] 13211번 Passport Checking - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/13211 13211번: Passport Checking The first line of the input contains an integer N. (1 ≤ N ≤ 100,000) The next N lines contains the list of N stolen passport numbers, one passport number per line. The next line of the input contains an integer M. (1 ≤ M ≤ 100,000) The next M lines www.acmicpc.net 풀이 단순한 구현문제입니다. # 13211번 Passport Checking import sys input = sys.std..
[백준][Python] 1427번 소트인사이드 - 파이썬
·
백준/문자열 정렬
https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 리스트 메서드인 .sort()의 파라미터인 reverse에 True를 주면 내림차순으로 정렬됩니다. # 1427번 소트인사이드 words = list(input()) words.sort(reverse = True) print("".join(words)) 출력결과
[백준] 11725번 트리의 부모 찾기 - 파이썬
·
백준/그래프 이론
https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net 풀이 트리를 만든 뒤 노드 2번부터 N번까지의 부모를 출력하는 것이 목표입니다. 자식을 찾기 위해서 저는 트리의 루트인 1번을 시작으로 자식을 찾아주었습니다. 1번 노드와 연결되어있는 노드들을 나타내는 리스트의 노드들은 부모가 아닌 무조건 자식이기 때문입니다. 중복된 노드를 다시 집어넣어서 자식을 찾지않게 주의하여 코드를 짭니다. 재귀함수 풀이 # 11725번 트리의 부모 찾기 import sys sys.setrecursionlimit(10 ** 9) n = ..
[백준] 1018번 체스판 다시 칠하기 - 파이썬
·
백준/완전 탐색
https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 문제 풀이 크기가 8 * 8 이상의 체스판이 주어진다. 이 체스판을 8*8크기로 잘라서 체스판으로 만들려고 한다. 잘못된 색이 칠해진 칸은 고쳐준다. 이때 칸의 개수를 최소로 고쳐서 체스판을 만들 수 있는 칸의 개수를 출력하는것이 문제의 목표이다. 1, 완전탐색을 통한 8*8크기의 체스판을 추출해야한다. # 주어진 n과 m에서 7을 빼주어서 추출할 8*8 체스판의 모든 첫번째 칸을 찾아준다..
[백준] 18258번 큐 2 - 파이썬
·
백준/자료구조
https://www.acmicpc.net/problem/18258 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 큐에 대한 기능적 구현을 요구하는 문제이기에 deque를 이용해서 문제를 풀어주었습니다. # 18258번 큐 2 from collections import deque import sys input = sys.stdin.readline n = int(input()) queue = deque([]) for _ in range(n): order = input().rstri..
[백준] 18870번 좌표 압축 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 풀이 목표: 공백을 포함한 숫자들이 주어진다. 주어진 숫자들을 하나씩 다른 수들과 비교하여 보다 작은 수의 개수를 출력하는 문제입니다. 다만 중복된 숫자는 계산을 한번만 합니다. 예제) 주어진 숫자들: [1, 3, 5] 1은 다른 숫자인 3, 5보다 작은 숫자이다. 고로 1보다 작은 숫자의 개수는 0개이다. 3은 다른 숫자인 1보다 크고, 5보다 ..
[백준] 4949번 균형잡힌 세상 - 코팩
·
백준/구현
https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(".")로 끝난다 www.acmicpc.net 풀이 스택기능을 이용하여 문제를 풀어주면 됩니다. 덱(deque)을 이용하여 스택 기능을 구현해주었으며, 문자열에 "[" 혹은 "("가 들어올 경우 덱에 추가해줍니다. 그 이후에 "]" 혹은 ")"가 들어오면 스택에 마지막으로 들어간 문자가 대칭되는 문자가 존재하는지 확인하는 방법으로 문제를 풉니다. # 4949번 균형잡힌 세상 import sys from collection..
[백준] 5430번 AC - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 풀이 전제조건 명령어는 R과 D가 주어진다. R은 주어진 문자열을 뒤집는 것을 뜻한다. D는 주어진 문자열의 첫번째 요소를 지우는 것을 뜻한다. 다만, 문자열이 공백일 경우 D를 사용하면 코드는 error를 출력하며 중단한다. 목표: 주어진 실행어를 거친 문자열의 결과를 출력하는 것 여기까지는 단순한 구현이라 생각할 수 있지만, 코드를 단순히 리스트를 이용해서 풀어준다면 시간초과가 일어난다. 주의) 시간초과가 일어나는 이유 * R이 나올 경우 문자열을 ..
개발자 성현
개발새발 블로그