[백준] 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이 나올 경우 문자열을 ..
[백준] 7568번 덩치 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 풀이 전제조건: 덩치의 우열을 가리는 조건은 사람A의 몸무게와 키가 사람B의 몸무게와 키보다 커야한다. 목표: 주어진 사람들의 몸무게와 키를 이용하여 순위를 메기는 것 # 7568번 덩치 import sys n = int(input()) people = [list(map(int, sys.stdin.readline().split())) for _ in range(n)] # 덩치의 순위를..
[백준] 2231번 분해합 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 풀이 문제에 따르면 우리는 생성자를 이용하여 분해합을 나타낼 수 있습니다. 예를들어 생성자 123이 주어진다면 우린 129(123 + 1 + 2 + 3)라는 분해합을 얻을 수 있습니다. 생성자는 분해합보다 항상 같거나 작습니다. for문을 이용해서 0부터 분해합까지 모든 수를 생성자로 취급하여 분해합을 구해봅니다. 찾고자하는 분해합을 찾게되면 우린 생성자를 찾을 수 있..
[백준] 15829번 Hashing - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/15829 15829번: Hashing APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정 www.acmicpc.net 풀이 본문의 글자 수를 보고 지레 겁먹지않으면 됩니다. 본문 내용을 요약하자면 알파벳 [a, b, c, d ..... x, y, z] = [1, 2, 3, 4 .....24, 25, 26] 으로 바꾸어줄 수 있습니다. 소문자로만 이루어진 문자열의 알파벳을 문자단위로 위와 같은 정수로 바꾸어준뒤 문자열의 인덱스 값만큼 31을 제곱해준뒤 곱해줍니다. 이렇게 일련의 과정을 거친 숫자들을 모두 합친 뒤..
개발자 성현
'백준' 카테고리의 글 목록 (15 Page)