백준 478

[Java] 백준 풀기 2490 - 윷놀이

자바 백준 2490번 브론즈 3 https://www.acmicpc.net/problem/2490 2490번: 윷놀이 우리나라 고유의 윷놀이는 네 개의 윷짝을 던져서 배(0)와 등(1)이 나오는 숫자를 세어 도, 개, 걸, 윷, 모를 결정한다. 네 개 윷짝을 던져서 나온 각 윷짝의 배 혹은 등 정보가 주어질 때 도(배 한 www.acmicpc.net 문제 보기 분류: 구현 문제 풀기 네 개의 윷의 상태를 나타내는 숫자들을 모두 더하면 윷놀이 결과와 대응시킬 수 있다. 3 == 도, 2 == 개, 1 == 걸, 0 == 윷, 4 == 모 각 행의 숫자를 모두 더하고 일치하는 조건문에 대한 답을 출력한다. 코드 보기 import java.util.Scanner; public class Main { publi..

공부하기/백준 2023.02.06

[Python] 백준 풀기 7567 - 그릇

파이썬 백준 7567번 브론즈 2 https://www.acmicpc.net/problem/7567 7567번: 그릇 그릇을 바닥에 놓았을 때 그 높이는 10cm 이다. 그런데 두 개의 그릇을 같은 방향으로 포개면 그 높이는 5cm만 증가된다. 만일 그릇이 서로 반대방향으로 쌓이면 높이는 그릇만큼, 즉 10cm 늘어난다. www.acmicpc.net 문제 보기 분류: 구현, 문자열 문제 풀기 그릇의 정보를 리스트에 입력하여 현재 리스트의 값과 다음 리스트의 값을 비교하여 판별한다. 전체 리스트 길이에서 하나를 뺀 위치까지 반복문을 돌리면서, 현재 index 그릇과 다음 index 그릇의 모양이 같으면 +5, 모양이 다르면 +10 을 누적해 더해간다. 코드 보기 import sys inputdata = s..

공부하기/백준 2023.02.05

[Python] 백준 풀기 1051 - 숫자 정사각형

파이썬 백준 1051번 실버 4 https://www.acmicpc.net/problem/1051 1051번: 숫자 정사각형 N×M크기의 직사각형이 있다. 각 칸에는 한 자리 숫자가 적혀 있다. 이 직사각형에서 꼭짓점에 쓰여 있는 수가 모두 같은 가장 큰 정사각형을 찾는 프로그램을 작성하시오. 이때, 정사각형은 행 www.acmicpc.net 문제 보기 분류: 구현, 브루트포스 알고리즘 문제 풀기 모든 좌표에 대해 가능성을 탐색한다. 이때, 기준 좌표를 결정하여 그 좌표로부터 가로, 세로에 대해 같은 값이 있는지를 찾는다. 최소 넓이는 네 개의 같은 수가 존재하지 않은 하나의 수만 있을 경우이므로 1 로 초기화한다. 하나의 좌표를 기준으로 잡고 그 값을 저장하여 가로축에 대해서 같은 숫자가 있는지를 찾고..

공부하기/백준 2023.02.04

[Java] 백준 풀기 10808 - 알파벳 개수

자바 백준 10808번 브론즈 4 https://www.acmicpc.net/problem/10808 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net 문제 보기 분류: 구현, 문자열 문제 풀기 char 타입의 ASCII 코드 연산을 통해 풀이한다. char 타입으로 저장된 알파벳은 정수와 사칙연산을 통해 int 타입을 반환한다. 이를 이용하여 각 알파벳의 종류를 판별할 수 있다. 판별된 알파벳은 26 개의 배열에 그 개수만큼 누적합한다. 각각의 알파벳이 누적합 된 array 의 value 를 답안에 맞게 출력한다. 코드 보기 import java.util.Scanner; public class Main {..

공부하기/백준 2023.02.03

[Java] 백준 풀기 2752 - 세 수 정렬

자바 백준 2752번 브론즈 4 https://www.acmicpc.net/problem/2752 2752번: 세수정렬 숫자 세 개가 주어진다. 이 숫자는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 숫자는 모두 다르다. www.acmicpc.net 문제 보기 분류: 구현, 정렬 문제 풀기 잊어버리지 않기 위해 sort() 메서드를 사용하여 풀이를 한다. 3 개의 수가 저장될 array 를 만들고 for loop 으로 입력한다. 세 개의 숫자가 입력된 정렬되어지지 않은 array 를 Arrays.sort() 사용하여 정렬하고 출력한다. 코드 보기 import java.util.Scanner; import java.util.Arrays; public class Main { public st..

공부하기/백준 2023.02.02

[Java] 백준 풀기 10807 - 개수 세기

자바 백준 10807번 브론즈 5 https://www.acmicpc.net/problem/10807 10807번: 개수 세기 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거 www.acmicpc.net 문제 보기 분류: 구현 문제 풀기 입력 받을 숫자만큼 빈 배열을 생성한다. for loop 을 통해 비교해야할 숫자들을 배열에 저장한다. 배열에 저장된 숫자를 하나씩 빼내어 제시된 숫자와 int 타입으로 비교를한다. 이때, 두 숫자가 같으면 count 를 하나씩 올리고 모든 비교가 끝나면 출력 형식에 맞게 내보낸다. 코드 보기 import java.u..

공부하기/백준 2023.02.01

[Java] 백준 풀기 10757 - 큰 수 A+B

자바 백준 10757번 브론즈 5 https://www.acmicpc.net/problem/10757 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 보기 분류: 수학, 구현, 사칙연산, 임의 정밀도 / 큰 수 연산 문제 풀기 자바에 있는 BigInteger 를 사용해볼 수 있다. BigInteger 은 문자형 타입으로 입력을 받기 때문에 일반적인 "+" 기호를 통해서 연산이 불가능하다. 더하기 연산을 위해서는 BigInteger 클래스 내부에 있는 add() 메서드를 사용해야 한다. a.add(b) 형태로 계산을 한다. Operator Code 덧셈 bigNum1.add(bicNum2) 뺄셈 bigNum1.sub..

공부하기/백준 2023.01.31

[Python] 백준 풀기 2605 - 줄 세우기

파이썬 백준 2605번 브론즈 2 https://www.acmicpc.net/problem/2605 2605번: 줄 세우기 점심시간이 되면 반 학생 모두가 한 줄로 줄을 서서 급식을 탄다. 그런데 매일 같이 앞자리에 앉은 학생들이 앞에 줄을 서 먼저 점심을 먹고, 뒷자리에 앉은 학생들은 뒤에 줄을 서 늦게 점심을 www.acmicpc.net 문제 보기 분류: 구현, 자료 구조 문제 풀기 학생 번호와 뽑은 번호표와의 관계를 통해 줄 선 순서를 확인해 보면, (학생 번호 - 번호표) 가 그 순서 위치임을 알 수 있다. 이 관계를 통해 해당 위치에 학생을 중간에 넣기 위해서 list, insert() 를 사용한다. index 를 학생의 번호와 맞추기 위해 index 0 에 0 을 초기화하여 리스트 studen..

공부하기/백준 2023.01.29

[Java] 백준 풀기 2475 - 검증수

자바 백준 2475번 브론즈 5 https://www.acmicpc.net/problem/2475 2475번: 검증수 컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들 www.acmicpc.net 문제 보기 분류: 수학, 구현, 사칙연산 문제 풀기 for loop 을 통해 5 개의 숫자를 입력받는다. 입력받으면서 모든 숫자를 누적하여 더해간다. 검증수를 찾기 위해 누적해 더한 최종값을 10 으로 나눈 나머지를 구하는 계산을 시행한다. 코드 보기 import java.util.Scanner; public class Main { public static voi..

공부하기/백준 2023.01.28

[Python] 백준 풀기 11723 - 집합

파이썬 백준 11723번 실버 5 https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net 문제 보기 분류: 구현, 비트마스킹 문제 풀기 비트마스킹이란 것을 사용하라는 문제 같은데 비트마스킹을 사용하지 않고 풀이하였다. 왜 그런지 모르겠지만 제출하고 채점하는 과정에서 퍼센트가 더디게 올라갔다. 집합 S 는 1 ~ 20 번호로 이루어진 집합이기에 index 에 맞춰 21 개의 0 으로 초기화된 리스트를 생성하고 조건에 맞게 0 또는 1 로 표시한다. 명령어와 데이터 또는 명령어만 입력되는 ..

공부하기/백준 2023.01.27