목록분류 전체보기 (44)
지극히 개인적인 개발블로그
쉽지 않은 문제였다. 3가지 경우로 나누고 접근했다. (1)5로만 나누어 지는 경우 ex)10, 20 (2)3으로만 나누어 지는 경우 ex)6, 9 (3)5와 3으로 나눌수 있는 경우 ex)11, 18 if문으로 분기를 나누어 판별할텐데 18은 3으로 먼저 나누어 버린다면 오답이 되므로 3으로 나누는 분기는 가장 마지막에 위치한다. import java.util.Scanner; public class Sol_2839 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); if(n%5 == 0) { System.out.println(n/5); return; } else{ int a..
너무 단순하게만 생각했을까요. if문으로 크로아티아 알파벳만 판별하면 될줄 알았는데 런타임에러가 뜨는군요 import java.util.Scanner; public class Sol_2941 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String word = sc.next(); char[] arr = word.toCharArray(); int ans = arr.length; for(int i=0; i
문자열 카테고리에 있지만 문자열을 이용하지 않고도 풀수 있습니다. import java.util.*; public class Sol_2908 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); a = Reverse(a); b = Reverse(b); System.out.println((a > b) ? a : b); } private static int Reverse(int input) { int h, o; //백의자리와 일의 자리수 h = input/100; o = input%10; input -= (100*h+o); input += (..
변수나 메소드 앞에 static이 붙는걸 많이 봤다. 무슨 의미이고 어떨때 사용될까? public class HousePark { static String lastname = "박"; public static void main(String[] args) { HousePark pey = new HousePark(); HousePark pes = new HousePark(); } } 이와같이 값이 변하지 않을 변수에 static을 사용하면 메모리 사용에 이점을 볼 수 있다. 다만 변수의 값이 변경되지 않기를 원한다면 static보다는 final을 사용하는것이 더 좋다. static을 사용하는 또 한가지 이유로 공유의 개념을 들 수 있다. static 으로 설정하면 같은 곳의 메모리 주소만을 바라보기 때문에 ..
String은 불변객체이다. 예를들어 String str1 = 'abc'; String str2 ='def';가 있을때 두개의 String을 더하면 새로운 String객체를 만들게 된다. 이는 메모리도 더 잡아먹을 뿐만 아니라 시간도 더 소요하기 때문에 효율적인 방법이라 할수 없다. 이를 해결하기 위한 메소드가 StringBuilder()이다. 이를 이용하면 String객체를 더할때 새로운 객체를 생성하는 것이 아니기 때문에 상대적으로 속도도 빠르며 메모리도 효율적으로 이용할 수 있다. StringBuilder sb = new StringBuilder(); sb.append("abc"); sb.append("def"); System.out.println(sb.toString()); 참고로 append()..
좀 어려운 문제였습니다. 틀리기도 엄청 틀렸던거 같네요. 한수의 개념자체를 쉽게 이해하지 못했습니다. 첫번째 예제에서 힌트를 주고 있습니다. 110이하의 세자리수에서는 한수가 없습니다. 그런데 110을 입력하면 99가 나옵니다. 100미만의 수는 전부 한수로 인정한다는 의미입니다. 100이상의 수를 판별하는지는 크게 어렵지 않았습니다. 등차수열의 기본법칙인 n2 * 2 = n1 + n3인지만 확인하면 됩니다. 이하는 코드입니다. import java.util.Scanner; public class Sol_1065 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int ha..