오늘은 11시 부터 15시까지 모의고사를 치뤘다. 백준문제들을 공부하라고 하셔서 말씀해주신 5585번, 8958번 을 열심히 풀어 보았다. main 에서 풀어보는 경우와 따로 메소드를 만들어서 푸는 경우로 나누어서 4번을 풀어 보았다. 그 결과 문제의 내용은 거의 흡사하게 나왔고 바로 풀고 나올 수 있었다.
백준5585번에서 동전의 갯수가 두개 줄어든 형태였다. 그래서 문제를 해결한 나의 코드는 아래 있다.
package MainTest;
public class Test01 {
public int solution(int num) {
int answer = 0;
int[] changes = {500, 100, 50, 10};
int change = 1000- num;
for (int i =0; i < changes.length; i++){
if(change == 0) break;
answer += change/changes[i];
change %= changes[i];
}
return answer;
}
public static void main(String[] args) {
Test01 method = new Test01();
int num1 = 160;
System.out.println(method.solution(num1));
}
}
백준8958번 문제에서 테스트 케이스를 입력하는 경우가 제외된 형태의 문제 였다. 테스트 케이스 입력내용이 제외 되어서 조금더 쉽게 접근해서 문제를 풀었던것 같다.
package MainTest;
public class Test02 {
public int solution(String s) {
int count = 0;
int sum = 0;
for(int i = 0; i < s.length(); i++){
if(s.charAt(i) == 'O'){
count++;
}else {
count = 0;
}
sum+= count;
}
return sum;
}
public static void main(String[] args) {
Test02 method = new Test02();
String s = "OXOOOXXXOXOOXOOOOOXO";
System.out.println(method.solution(s));
}
}
알고리즘 주차에 생각 하지 못한 접근방법이나, 메소드 등을 알게 되는 시간이였다. 사실 세번째 문제가 하나 더 있는데 두문제만 풀어도 된다는 사실에 안도하고 후다닥 나왔던 기억이 있다. 시간이 나면 문제를 풀어서 올려볼 생각이다. 내일 부터는 Spring주차 이다. 매우 기대가 된다.