본문 바로가기

알고리즘89

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.
SW 1285. 아름이의 돌 던지기 SW Expert Academy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 기껏 다 풀었는데 자바로 제출이 안 돼서 제출은 못 했다. package algorithm; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.StringTokenizer; /* 사용.. 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.
SW 1945. 간단한 소인수분해 SW Expert Academy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 자바 N을 입력받아 2,3,5,7,11 각각의 몇 승으로 쪼개질 수 있는지 그 승 수를 구하는 문제 저 숫자들을 역순으로 배열에 담아놓고 배열만큼 반복문을 돌림. 반복문 안에서 N을 11로 나눈 나머지를 변수 dshare에 담음 그리고 더 나눠질 수 있는지 보기위해 while반복문을 돈다. dshare 가 0일 때 계속 도는데 일단 처음 한 번은 무조건 돌 거니까 while 반복문 안에 num = num/arr[j] 를 해줌 그리고 ch 증가. ch는 한 수가 몇 번 나눠질 수 있는지를 체크하는 변수 dshare가 0이 아니라면 그.. 2023. 5. 2.
SW 1946. 간단한 압축 풀기 SW Expert Academy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 자바로 품 문자와 숫자를 나눠서 입력받고 list에 숫자만큼 반복을 돌려서 문자를 담음. 그리고 10개씩 출력 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; /* 사용하는 클래스명이 Solution.. 2023. 5. 2.
SW 1948. 날짜 계산기 SW Expert Academy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 자바로 품 너무 간단하게 해결했다. 각 월의 일 수를 배열에 담아놓고 시작 월이 같다면 끝 일 - 처음 일 + 1 한 거 result에 담고 출력 월이 다르다면 시작월 ~ 끝 월 반복문 돌려서 배열 값 result에 +=해서 담고 끝일 - 처음일 +1 한 것도 += 해서 넣고 출력 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.. 2023. 5. 2.
728x90