반응형
4447번 문제 좋은놈 나쁜놈
생각
ascii코드활용 65+ 26 / 97 + 26/
b와 g의 개수에 따라서 하면됨
예전에 했던 문제 1157이랑 비슷한 느낌으로 하면 될듯?
문자는 25자를 넘지않음.
nextline
String으로 받고
for문으로 배열들
charat을 통해 쭉 비교하면 되긴 하는데
이게 효율적일지는 모르겠음
일단구현부터!
----------
hint
nextInt() 이후 nextLine()을 사용한다면 입력의 오류에 주의할 것,
매 for문마다 good과 bad를 판단해 배열에 문자열을 추가해 저장
----------
Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | import java.util.Scanner; public class Main { public static void main(String[] args) { int[] goodAndBad = new int[2]; // 0 = good, 1 = bad Scanner sc = new Scanner(System.in); int n; n = Integer.parseInt(sc.nextLine()); check c = new check(); String[] s = new String[n]; for(int i = 0; i < n; i++) { s[i] = sc.nextLine(); //nextInt()를 사용 시 s[0]에 '' 저장 주의 } for(int i = 0; i < n; i++) { goodAndBad[0] = 0; goodAndBad[1] = 0; for (int j = 0; j < s[i].length(); j++) { if((int)s[i].charAt(j) == 103) { // g == 103 , G == 71 goodAndBad[0]++; } else if((int)s[i].charAt(j) == 71) { goodAndBad[0]++; } else if((int)s[i].charAt(j) == 98) {// b == 98, B == 66 goodAndBad[1]++; } else if((int)s[i].charAt(j) == 66) { goodAndBad[1]++; } } s[i] = s[i].concat(c.goodOrBad(goodAndBad)); } for(int i = 0; i < n; i++) { System.out.println(s[i]); } } } class check { String goodOrBad(int[] a) { if(a[0] > a[1]) { return " is GOOD"; } else if(a[0] < a[1]) { return " is A BADDY"; } else if(a[0] == a[1]) { return " is NEUTRAL"; } return "error"; } } | cs |
실행시간 - 200ms
전에 조금 더 어려웠던 문제(no.1157)를 풀어봐서 구현은 쉬웠다.
그런데 hint에 적었던 nextInt()사용 후 nextLine()을 사용했을 때 문제가 생겨서 해당 문제를 해결하는데 시간이 좀 걸렸고,
결과적으로 해결해서 지식이 늘어난 느낌도 좋고 좋은 경험 한거같다.
해당 문제 관련 정리 : nextInt()입력 후 nextLine()사용 시 주의점
반응형
'공부 > Algorithm' 카테고리의 다른 글
백준 2869번 달팽이는 올라가고 싶다 자바로 풀어 본 짧은 글 (0) | 2022.12.18 |
---|---|
백준 2204번 도비의 난독증 테스트 자바로 풀어 본 짧은 글 (0) | 2022.12.18 |
백준 13458 시험 감독 자바로 풀어 본 짧은 글 (0) | 2022.12.16 |
백준 15953 상금 헌터 자바로 풀어 본 짧은 글 (0) | 2022.12.16 |
백준 10886 0 = not cute / 1 = cute 자바로 풀어 본 짧은 글 (0) | 2022.12.14 |