AtCoder Beginner Contest 289 정리
·
Problem Solving
출처 : https://atcoder.jp/contests/abc289 Sky Inc, Programming Contest 2023(AtCoder Beginner Contest 289) - AtCoder AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online. atcoder.jp A - flip 가볍게 넘어간다. import sys input = sys.stdin.readline n = input().rstrip() s = "" for i in n: if i == '1': s += '0' else: s += '1' print(s) B - V 이 문제..
[boj] 13975번: 파일 합치기 3
·
Problem Solving/Baekjoon
출처 : https://www.acmicpc.net/problem/13975 13975번: 파일 합치기 3 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T개의 테스트 데이터로 이루어져 있는데, T는 입력의 맨 첫 줄에 주어진다.각 테스트 데이터는 두 개의 행으로 주어지는데, www.acmicpc.net 1. 문제 설명 소설가인 김대전은 소설을 여러 장(chapter)으로 나누어 쓰는데, 각 장은 각각 다른 파일에 저장하곤 한다. 소설의 모든 장을 쓰고 나서는 각 장이 쓰여진 파일을 합쳐서 최종적으로 소설의 완성본이 들어있는 한 개의 파일을 만든다. 이 과정에서 두 개의 파일을 합쳐서 하나의 임시파일을 만들고, 이 임시파일이나 원래의 파일을 계속 두 개씩 합쳐서 파일을 합쳐나가고, 최..
[boj] 1715번: 카드 정렬하기
·
Problem Solving/Baekjoon
출처 : https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 1. 문제 설명 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장의 숫자 카드 묶음을 합치려면 50번의 비교가 필요하다. 매우 많은 숫자 카드 묶음이 책상 위에 놓여 있다. 이들을 두 묶음씩 골라 서로 합쳐나간다면, 고르..
[boj] 1541번: 잃어버린 괄호
·
Problem Solving/Baekjoon
출처 : https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 1. 문제 설명 괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 문제다. 2. 접근 방식 여러 시도를 했었다... 구현 실력이 부족하여 실패했다....... 3. 주석 달기 (변수 설명, 각 줄마다 문장으로 설명, 함수 설명) package BOJ; import java.io.BufferedReader; import java.io.IOException; import java.io.I..
[boj] 25044번: 에어컨
·
Problem Solving/Baekjoon
출처 : https://www.acmicpc.net/problem/25044 25044번: 에어컨 대부분의 DGIST 기초학부 학생들은 기숙사에서 생활하고 있습니다. 여름이 다가옴에 따라 자유롭게 온도를 설정할 수 있는 시원한 에어컨을 사용하게 될 예정입니다. 안타깝게도 에어컨은 매일 1 www.acmicpc.net 1. 문제 설명 대부분의 DGIST 기초학부 학생들은 기숙사에서 생활하고 있습니다. 여름이 다가옴에 따라 자유롭게 온도를 설정할 수 있는 시원한 에어컨을 사용하게 될 예정입니다. 안타깝게도 에어컨은 매일 15, 18, 21시 정각에 자동으로 꺼지게 설계되어 있습니다. 더군다나 에어컨의 내장 시계가 고장이 나서 세 번째로 꺼질 때마다 에어컨의 시계는 K분간 멈추게 됩니다. 편안한 낮잠을 위해 ..
[boj] 12927번: 배수 스위치
·
Problem Solving/Baekjoon
출처 : https://www.acmicpc.net/problem/12927 12927번: 배수 스위치 첫째 줄에 전구의 상태가 1번 전구부터 차례대로 주어진다. Y는 전구가 켜 있는 경우, N은 전구가 꺼져있는 경우이다. 전구의 개수는 1보다 크거나 같고 1,000보다 작거나 같은 자연수이다. www.acmicpc.net 1. 문제 설명 강호는 전구를 N개를 가지고 있다. 1번부터 N번까지 번호가 매겨져있고, 전구는 켜져있거나 꺼져있다. 전구의 개수만큼 스위치 N개를 가지며, 1번부터 N번까지 번호가 매겨져 있다. i번 스위치를 끄게 되면 i의 배수 번호를 가지는 전구의 상태를 모두 반전시킨다. 2. 접근 방식 해시맵을 사용하였다. (특별한 알고리즘은 없다.) 3. 주석 달기 (변수 설명, 각 줄마다 ..
[boj] 11399번: ATM
·
Problem Solving/Baekjoon
출처 : https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 1. 문제 설명 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다. 2번 사람은 1번 사람이 돈을 뽑을 때 까지 기다려야 하기 때문에, 3+1 = 4분이 걸리게 된다. ..
[boj] 1026번: 보물
·
Problem Solving/Baekjoon
출처 : https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 1. 문제 설명 길이가 N인 정수 배열 A와 B가 있고, 다음과 같이 함수 S가 정의된다. S = A[0] x B[0] + .... + A[N-1] x B[N-1] S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안된다. S의 최솟값을 출력하라. 2. 접근 방식 사실 문제에서 B에 있는 수를 재배열하지 말라고 했지만 출력은 S의 최솟값을 출..
[boj] 2630번: 색종이 만들기
·
Problem Solving/Baekjoon
출처 : https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 1. 문제 설명 종이의 크기가 N x N인 정사각형에서 각 칸에 1(파란색)과 0(하얀색)으로 칠해져있을 때 일정한 규칙에 따라 잘라서 자른 모든 면이 모두 같은 색이면 그 칸의 수를 반환하고, 모두 같은 색이 아니라면 똑같은 크기의 N/2 x N/2색종이로 조건을 만족할 때 까지 반복한다. 2. 접근 방식 3. 주석 달기 (변수 설명, 각 줄마다 문장으로 설명..
[LeetCode] 835.Image Overlap
·
Problem Solving/LeetCode
출처 : https://leetcode.com/problems/image-overlap/ Image Overlap - LeetCode Image Overlap - You are given two images, img1 and img2, represented as binary, square matrices of size n x n. A binary matrix has only 0s and 1s as values. We translate one image however we choose by sliding all the 1 bits left, right, up, and/or down any leetcode.com 1. 문제 설명 주어진 img1을 상, 하, 좌, 우로 움직여서 img2를 만들 때 가장 많이 ..
[boj] 1655번: 가운데를 말해요
·
Problem Solving/Baekjoon
출처 : https://www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 1. 문제 설명 백준이가 정수를 하나씩 외칠때마다 동생은 지금까지 백준이가 말한 수 중에서 중간 값을 말해야 한다. 만약 외친 수가 짝수개라면 중간에 있는 두 수 중에서 작은 수를 말한다. 1을 외치면 지금까지 `백준이가 외친 수 = [1]이므로 1 5를 외치면 `백준이가 외친 수 = [1,5], 두 수중 작은 수는 1 2를 외치면 `백준이가 외친 수 = [1,5,2] 중..
[LeetCode] 433. Minimum Genetic Mutation
·
Problem Solving/LeetCode
출처 : https://leetcode.com/problems/minimum-genetic-mutation/ Minimum Genetic Mutation - LeetCode Minimum Genetic Mutation - A gene string can be represented by an 8-character long string, with choices from 'A', 'C', 'G', and 'T'. Suppose we need to investigate a mutation from a gene string startGene to a gene string endGene where one mutation is defin leetcode.com 1. 문제 설명 유전자 문자열은 A, C, G, T로 이..