직사각형 넓이 구하기
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
복사