본문 바로가기

알고리즘/백준61

2720번 문제 : 세탁소 사장 동혁 2720번: 세탁소 사장 동혁 (acmicpc.net) 2720번: 세탁소 사장 동혁 각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구분하여 출력한다. www.acmicpc.net 자바 생각보다 간단했던 문제. 화폐값들을 내림차순으로 배열에 담아놓고 반복문으로 배열요소를 돌면서 거스름돈으로 주어진 값에 계속해서 나눠감. 몫(dshare)을 거스름돈/배열요소 값으로 지정해놓고 StringBuilder에 append함. 그리고 *change는 방금 구한 dshare에서 배열요소 (화폐 가격)을 곱한 값을 빼줘야함. 그래야 또 그 나머지로 다음 화폐가 얼마나 필요한지 구할 수 있으니까 근데 이제 화폐가 실수이다보니 double형 배열로 선언을 헀기 때문에 do.. 2023. 5. 5.
11005번 문제 : 진법변환2 11005번: 진법 변환 2 (acmicpc.net) 11005번: 진법 변환 2 10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 자바 이번에는 10진법 수 N을 B진법으로 변환하는 문제 ! 10진법을 N진법으로 변환하는 방법은 N을 B로 나눠서 몫은 계속해서 아래 써 내려가고 그 몫에 대한 나머지는 오른쪽에다 기재한뒤 몫이 B보다 작아질 때까지 하다가 다 끝나면 맨 아래 남은 몫부터 나머지의 역순으로 올라가는 방식 import java.io.BufferedReader; import java.io.IOException; import .. 2023. 5. 5.
2745번 문제 : 진법변환 2745번: 진법 변환 (acmicpc.net) 2745번: 진법 변환 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 자바 기본 중에 기본 ! 진법 변환 B진법 수 N을 10진법으로 변환하는 문제 N을 B의 0승부터 해서 수를 구해본다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; class Main{ public static void main(Stri.. 2023. 5. 5.
2563번 문제 : 색종이 2563번: 색종이 (acmicpc.net) 2563번: 색종이 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 www.acmicpc.net 자바 색종이가 붙은 부분의 넓이를 구하는 문제 색종이의 수 num만큼 result 에 10*10*num을 하고 좌표가 들어오면 x좌표 +10. y좌표 +10 만큼의 배열에 수를 더해준다. for문으로 배열을 돌면서 값이 2이상인 애들을 result에서 빼준다. 근데 처음에 틀렸다고 떠서 생각해보니까 두 장이 겹칠 수도 있고 그 이상이 겹칠 수도 있어서 뺴주는 값을 겹친 수만큼 곱해줘야한다. 다른 더 좋은 코드가 있을지 봤.. 2023. 5. 5.
10798번 문제 : 세로읽기 10798번: 세로읽기 (acmicpc.net) 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 자바 간단해보였는데 50분이나 걸렸다 ㅡㅡ 두 세번 뒤엎은 것 같다. 처음시도 ArrayList를 사용해서 첫 줄 ABCDE입력시 인덱스 0,5,10,15,20번째에 넣고 둘째 줄 abcde입력시 인덱스를 1,6,11,16,21 이런식으로 넣어줘서 마지막에는 list사이즈만큼 반복문을 돌려서 값을 출력하려고 했다. 그런데 잘 안 됐음. 보니까 될 거 같은데 왜 안 됐지 ? 다시 해봐야겠다. 암튼 두 번째 시도.. 2023. 5. 2.
2566번 문제 : 최댓값 2566번: 최댓값 (acmicpc.net) 2566번: 최댓값 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. www.acmicpc.net 자바 정말 간단하게 5분도 안 돼서 풀었는데 틀렸다. 원인은 모든 요소가 0일 때를 고려하지 않은 것 ! import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; class Main{ public static void main(String[] args) throws IO.. 2023. 5. 2.
2738번 문제 : 행렬 덧셈 2738번: 행렬 덧셈 (acmicpc.net) 2738번: 행렬 덧셈 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같 www.acmicpc.net 자바 정말 간단하게 풀었지만 더 좋은 방법이 있었다. 나는 첫 행렬 farr[][] 하나와 두 번째 행렬 sarr[][]를 각각 만들어 저장하고 result[][]까지 만들어서 두 행렬을 더한 배열까지 만든 뒤 result[][]를 출력했다. 이렇게 하면 2차원 배열은 총 3개 반복문은 4개를 사용한 셈. 보완해서 result[][]를 없앤 뒤 farr[][]와 sarr[][]를 더한 것을 바로 출력.. 2023. 5. 2.
25206번 문제 : 너의 평점은 25206번: 너의 평점은 (acmicpc.net) 25206번: 너의 평점은 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치 www.acmicpc.net 문제를 열심히 풀었는데 출력창에 Infinity가 나왔다 ! 실수형의 overflow시에는 Infinity 가 출력된다고 한다. 잉.. 문제를 잘못 읽었다. 아주 간단하게 품 ! package algorithm; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.String.. 2023. 5. 2.
1316번 문제 : 그룹 단어 체커 자바 1316번: 그룹 단어 체커 (acmicpc.net) 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 보기엔 쉬워보였는데 어떤 알고리즘을 구현해야할 지 생각이 잘 안 났다. 잘 뜯어보면 1. 한 단어에서 다음단어로 바뀔 때 ! 2. 그 다음 단어가 나온 적 없는 단어이면 된다. ex) aba일 경우 a에서 b로 바뀔 때 b가 나온 적이 없었으면 되고 또 b에서 a로 바뀔 때 a가 나온 적이 없었으면 되는데 앞에 나왔으니까 이 단어는 그룹단어가 아니다. package alg.. 2023. 4. 30.
728x90