Hackerrank
-
[hackerRank] primChecker알고리즘 2021. 2. 28. 19:48
문제 www.hackerrank.com/challenges/prime-checker/problem 접근방법 - 소수를 판별해 내는 문제이다 - 1보다 크고, 1과 자신외의 약수를 가지지 않는 수 ex) 2,3,5,7.. - 사람들이 푼걸 보니, BigInteger.valueOf(number).isProbablePrime() 을 많이 쓰기도 하는것 같다 . package com.cm; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.lang.reflect.Method; import java.util.HashSet; import java.util.Set; /** * ht..
-
[hackerRank] JAVA Stack알고리즘 2020. 10. 26. 23:19
문제 www.hackerrank.com/challenges/java-stack/problem 접근방법 - 괄호의 짝이 맞으면 되는 문제 - stack의 pop을 이해한다면 충분히 쉬운 문제 - 좀 더 코드를 줄여보자면 push하는 부분을 else로 빼서하는 것도 코드를 줄일 수 있음 개인적으로 push하는 부분을 '(', '{', '[' 를 명확하게 써주는게 더좋은거 같아서 코드를 풀어서 씀 코드 package com.cm; import java.util.Scanner; import java.util.Stack; /** * https://www.hackerrank.com/challenges/java-stack/problem */ public class JavaStack { public JavaStack(..
-
[hackerRank] StringReverse알고리즘 2020. 10. 6. 23:40
문제 www.hackerrank.com/challenges/java-string-reverse/ 접근방법 쉽게 생각하면, 아주 쉽게 풀수 있는 문제였음, (2가지 방식으로 풀었다.) 입력받은 문자열을 뒤집어서 입력한 문자열과 같은지만 체크하면 되는 문제. solution1의 경우 StringBuilder 클래스의 reverse()메소드를 이용하면 쉽게 뒤집을수 있다. 하지만 solution1의 문제점은 최적화된 코드는 아니라는 것. 왜냐하면, 가장 처음 문자와, 가장 끝에 있는 문자가 다르다면 굳이 전부 뒤집을 필요는 없음. 그래서 solution2에서는 맨앞, 맨뒤를 각각 비교하다 중간에 다르면 바로 비교를 종료시켰다. 채점 속도도 solution2가 solution1에 비해 훨씬 빨랐다. 코드 imp..
-
[hackerRank] datatypes알고리즘 2020. 9. 29. 18:02
문제https://www.hackerrank.com/challenges/java-datatypes 접근방법- 각 자료형의 최소값, 최대값을 자바에서 지원해 주기 때문에, 자료형의 크기 순서만 안다면 조건문으로 쉽게 처리 가능. 코드package com.cm; import java.util.Scanner; /** * https://www.hackerrank.com/challenges/java-datatypes */ public class JavaType { public JavaType() { solution(); } public void solution(){ Scanner sc = new Scanner(System.in); int t = sc.nextInt(); // 반복 입력 할 횟수 for(int i ..
-
[hackerRank] AngryProfessor알고리즘 2019. 12. 17. 22:45
접근방법 너무 쉬워서 접근 방법이이랄 것도 없었다.. 준비된 학생수만 세주면 끝.. package com.cm; /** * https://www.hackerrank.com/challenges/angry-professor/problem?h_r=profile */ public class AngryProfessor { public AngryProfessor() { int k = 2 ; int[] a = {0,-1,2,1}; System.out.println(solution(k,a)); } public String solution(int k, int[] a){ int readyStudentCount = 0; for(int i : a){ if(i=