언어 공부 내용 정리/백준 7

백준 자바 10988

package Baekjoon; import java.util.Scanner; public class pald { public static void main(String [] args) { Scanner input = new Scanner(System.in); String a = input.nextLine(); StringBuilder sb = new StringBuilder(); sb.append(a); if(a.equals(sb.reverse().toString())) System.out.println(1); else System.out.println(0); } } reverse() 메소드를 사용해주었다 String에 reverse() 메소드가 있다면 좋겠지만 그렇지 않기 때문에 StringBuild..

백준 자바 2884, 1152 / split() , StringTokenizer() 비교

2284 import java.util.Scanner; public class Main { public static void main(String [] args) { Scanner input = new Scanner(System.in); Byte H = input.nextByte(); Byte M = input.nextByte(); if(H==0) { if(M>=45 && M=45 && M44) System.out.println(H + " " + (M- 45)); else if ( M 0) System.out.println((H-1) + " " + (M+15)); else System.out.println(23 + " " + (M + 15)); input.close(); } } 더 짧..

백준 자바 문자열 : 27866, 9086, 11654, 10809

27866번 import java.util.Scanner; public class Main{ public static void main(String args[]) { Scanner input = new Scanner(System.in); String s = input.next(); short j = input.nextShort(); System.out.println(s.charAt(j-1)); } } 처음에 런타임에러가 떠서 풀이들을 찾아봤는데 다들 substring() 혹은 string 타입의 배열 혹은 bufferedreader 등을 쓰길래 그런걸 써야만 런타임에러가 나지 않는것일까 고민을 잠시 했는데 코드를 다시보니 j-1 부분을 j로 써서 틀린거였다 ..^^ 코드는 이 방식이 가장 간단한 것 같은..

백준 자바 10952,10951

package Baekjoon; import java.util.Scanner; public class Main{ public static void main(String args[]) { Scanner input = new Scanner(System.in); while(true) { int a = input.nextInt(); int b = input.nextInt(); if(a==0 && b==0) break; System.out.println(a+b); } } } 0 0 을 입력받을때 까지 a와 b의 합을 계속해서 출력해야 하기에, 무한루프를 활용하면 쉽게 풀리는 문제다 if문과 출력문 순서를 바꿔쓰면 0 0의 합인 0도 출력되니까 if문을 꼭 출력문 앞에 써야한다 import java.util.Sca..

백준 자바 10172

package Baekjoon; import java.util.Scanner; public class Main{ public static void main(String args[]) { System.out.println("|\\_/|"); // 이스케이프 \\ System.out.println("|q p| /}"); System.out.println("( 0 )\"\"\"\\"); // 이스케이프 \",\\ System.out.println("|\"^\"` |"); // 이스케이프 \" System.out.println("||_/=\\\\__|"); //이스케이프 \\ } //자바에서 이스케이프(\) 사용해야 출력가능한 문자는 " , ' , \ } // // //|\_/| //|q p| /} //( 0 ..

백준 자바 1008번

오랜만에 재개한 백준풀기.. 첫문제때 메인메소드 안썼다가 컴파일 에러 냄 ^^ 처음에 입력받는 수를 int로 했을때 뭔가 형변환을 해야할 것 같긴 한데 (double)(a/b)로 하니까 계속 1 3을 입력해도 0.0이 출력되어서 좀 생각하다가 서치를 해보았다 서치 결과 내가 입력한 코드대로 하면 연산자의 우선순위에 따라 괄호 안의 (a/b)가 먼저 연산되어서 double(0)으로 만드는 꼴이라 0.3333이 아니라 0.0이 출력된 것이었다 double형의 새로운 변수를 선언하는 방법도 써봤으나 이것 역시 double c = a/b는 정수끼리 연산해서 나온 a/b의 결과를 c에 대입하는 것이기 때문에 어차피 1 3 입력시에 0.0이 나오는 건 똑같다 몇가지 방법이 있는데, 1)(double)a/b로 a만 ..