Search
Duplicate

06.01 입문 문제풀이

태그
대분류
코딩테스트 입문
비고
직사각형 넓이 구하기
package programmers.CodingBegginerTraining; public class PROB37 { public static void main(String[] args) { int[][] dots = {{1, 1},{2, 1},{2, 2},{1, 2}}; System.out.println(solution(dots)); } public static int solution(int[][] dots) { int width = 0; int height = 0; for (int i = 1; i < dots.length; i++) { if (dots[0][0] != dots[i][0]) { width = Math.abs(dots[i][0] - dots[0][0]); } else { height = Math.abs(dots[i][1] - dots[0][1]); } } return width * height; } }
Java
복사
로그인 성공?
package programmers.CodingBegginerTraining; public class PROB38 { public static void main(String[] args) throws Exception { String[] id_pw = {"meosseugi", "1234"}; String[][] db = {{"rardss", "123"}, {"yyoom", "1234"}, {"meosseugi", "1234"}}; System.out.println(solution(id_pw, db)); } public static String solution(String[] id_pw, String[][] db) { for (int i = 0; i < db.length; i++) { // 아이디 비번 둘 다 있는 경우 if (id_pw[0].equals(db[i][0]) && id_pw[1].equals(db[i][1])) { return "login"; } else if (id_pw[0].equals(db[i][0]) && !id_pw[1].equals(db[i][1])) { return "wrong pw"; } } return "fail"; } }
Java
복사
치킨 쿠폰
package programmers.CodingBegginerTraining; public class PROB40 { public static void main(String[] args) { int chicken = 1081; System.out.println(solution(chicken)); } public static int solution(int chicken) { int serviceChicken = 0; while (chicken >= 10) { int quotientChicken = chicken / 10; int remainChicken = chicken % 10; chicken = quotientChicken + remainChicken; serviceChicken += quotientChicken; } return serviceChicken; } }
Java
복사
등수 매기기
package programmers.CodingBegginerTraining; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; public class PROB41 { public static void main(String[] args) { int[][] score = {{80, 70}, {70, 80}, {30, 50}, {90, 100}, {100, 90}, {100, 100}, {10, 30}}; System.out.println(Arrays.toString(solution(score))); } public static int[] solution(int[][] score) { List<Integer> scoreList = new ArrayList<>(); for (int i = 0; i < score.length; i++) { scoreList.add(score[i][0] + score[i][1]); } scoreList.sort(Comparator.reverseOrder()); int[] rank = new int[scoreList.size()]; for (int i = 0; i < scoreList.size(); i++) { rank[i] = scoreList.indexOf(score[i][0] + score[i][1]) + 1; } return rank; } }
Java
복사
유한소수 판별하기
package programmers.CodingBegginerTraining; public class PROB42 { public static void main(String[] args) { int a = 7; int b = 17; System.out.println(solution(a, b)); } public static int solution (int a, int b) { // 기약분수 b /= gcd(a, b); // 유한소수, 무한소수 판단 while (b > 1) { if (b % 2 == 0) { b /= 2; } else if (b % 5 == 0) { b /= 5; } else { return 2; } } return 1; } public static int gcd(int a, int b) { if (b == 0) { return a; } else { return gcd(b, a % b); } } }
Java
복사
저주의 숫자 3
package programmers.CodingBegginerTraining; public class PROB43 { public static void main(String[] args) { int n = 15; System.out.println(solution(n)); } public static int solution(int n) { int answer = 0; for (int i = 0; i < n; i++) { answer ++; while (answer % 3 ==0 || String.valueOf(answer).contains("3")) { answer++; } } return answer; } }
Java
복사
특이한 정렬
Java
복사
문자열 밀기
Java
복사
다항식 더하기
Java
복사