본문 바로가기

알고리즘89

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.
SW 1961. 숫자 배열 회전 SW Expert Academy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 처음에 원본 배열을 90도 180도 270도를 각각 회전시키는 2중 반복문을 3개 만들었다. 그런데 출력 형식을 못 맞추겠는 거야 ! 생각을 좀 하다가 일단 저것도 각각 구현할 필요가 없다고 느껴져서 rotation이라는 함수를 만들어서 90도 회전시키고 배열을 반환하게 했음. 그리고 180도 회전한건 90도 회전한 함수를 써서 나온 배열에 또 rotation 함수를 적용시켜주면 되는 것 ! package algorithm; import java.io.BufferedReader; import java.io.InputStreamRea.. 2023. 4. 27.
2941번 문제 : 크로아티아 알파벳 2941번: 크로아티아 알파벳 (acmicpc.net) 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 간단하게 풀었다고 생각하는데 40분이나 걸렸다. 내가 아는 지식 수준으로는 문자열을 substring으로 각각 두 글자 세 글자 잘라서 배열 안에 목록을 넣어놓고 비교했는데 contains라는 좋은 메소드를 알게되었다 ! 기존 내가 만든 코드 package algorithm; import java.io.BufferedReader; import java.io.IOExcep.. 2023. 4. 26.
4344번 문제 : 평균은 넘겠지 4344번: 평균은 넘겠지 (acmicpc.net) 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 문제는 매우 간단했으나 소수점 아래 n번째 자리까지 출력하기를 새로 알아서 써본다 ! 방법은 2가지 1. String.format() 2. Math.round() 1번 String.format()을 이용하면 double a = 1.23456 System.out.println(".3%f",a); 하면 소수점 넷째자리에서 반올림되어 3번 째 자리까지 표시된다. 2번 Math.round() 이용 Math.round()는 반올림하는 함수인데 2째자리에서 반올림해서 첫쨰자리까지만 나타내고 싶다면 .. 2023. 4. 25.
10988번 문제 : 팰린드롬인지 확인하기 10988번: 팰린드롬인지 확인하기 (acmicpc.net) 10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 매우 간단하게 작성했는데 틀렸다고 나왔다. 한 글자일 때를 고려 안 했다 ! 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 IOException { BufferedReader b.. 2023. 4. 25.
2444번 문제 : 별 찍기 - 7 2444번: 별 찍기 - 7 (acmicpc.net) 2444번: 별 찍기 - 7 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 입력을 보고 규칙을 찾아서 코딩하는 문제 나는 보기에 입력된 수의 줄만큼 홀수개로 별이 증가하면서 찍히고 다 찍히면 다시 역순으로 돌아가는 거로 생각하고 코딩했다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.StringTokenizer; cla.. 2023. 4. 24.
SW 1983.조교의 성적 매기기 상당히 간단하게 풀었다고 생각했는데 런타임 에러가 났다. 무작정 오류를 해결하려고 하기보단 근본적으로 돌아가서 생각해보자. 컴파일 에러 vs 런타임 에러 - 컴파일에러 컴파일시 발생 컴파일러는 구문 오류로 프로그램 컴파일 자체가 불가 대체로 문법상의 에러 에러가 발생한 부분을 알려준다. ex) ; 누락, 괄호가 안 맞는 등, classpath에 누락된 클래스(컴파일 시) - 런타임에러 실행 시 발생하는 에러 프로그램이 컴파일된 후 실행하면서 에러 발생 개발 시 설계 미숙(논리적)으로 발생하는 에러 에러 발생 시 개발자가 역추적해서 원인을 확인해야함. ex) NullPointerException 무한루프 0으로 나누는 경우 등 그럼 나는 왜 났을까 스택 오버플로우라고 하는데 .. 으음 input 케이스 1.. 2023. 4. 18.
SW 2001. 파리퇴치 SW Expert Academy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com M*M 배열을 만들고 그안에 숫자들 입력. M*M크기 파리채로 내리쳤을 때 가장 큰 수 출력 어제 상당히 복잡하게 짰었던 것 같은데 다시 생각하면서 간단하게 손코딩을 해봤다. 먼저 for문이 4중인데 겉에 2중은 배열의 범위 안 + 파리채로 갈 수 있는 최대의 좌표 ex) 5*5배열에 3*3파리채면 (2,2)가 최대로 시작할 수 있는 좌표 그리고 안에 for문 두 개는 겉 for문으로 정해진 좌표를 시작으로 파리채 넓이 M*M까지 돌면서 그 안의 값들을 더해주고 최댓값을 찾아내주는 역할. 여기서 처음에 고려 못 헀던 건 안for문 .. 2023. 4. 18.
728x90