➜ 코딩 테스트/프로그래머스

프로그래머스 - 이진수 더하기 (JAVA)

쉽게 인티저로 바꾸고 이진수로 바꾸는 방법을 사용해도 됬을 것 같으나 데이터 크기가 큰 경우에 더 안정적으로 작동하는 코드로 작성했다. class Solution { public String solution(String bin1, String bin2) { StringBuilder sb = new StringBuilder(); int num = 0; while(bin1.length() = 0; i--){ int bit = (bin1.charAt(i) - '0') + (bi..

➜ 코딩 테스트/프로그래머스

프로그래머스 - 치킨 쿠폰 (JAVA)

class Solution { public int solution(int chicken) { int coupon = chicken; int service = 0; while(coupon >= 10){ service += coupon / 10; coupon = coupon / 10 + coupon % 10; } return service; } }

➜ 코딩 테스트/프로그래머스

프로그래머스 - 로그인 성공? (JAVA)

import java.util.*; class Solution { public String solution(String[] id_pw, String[][] db) { for (String[] row : db) { if (Arrays.equals(row, id_pw)) { return "login"; } } for (String[] row : db) { if (row[0].equals(id_pw[0])) { return "wrong pw"; } } return "fail"; } } Arrays.equals 에 대해서 잘 몰라서 이번에 공부하게 되는 좋은 기회였다.

➜ 코딩 테스트/프로그래머스

프로그래머스 - 옹알이 (1) (JAVA)

class Solution { public int solution(String[] babbling) { int answer = 0; //제거해야되는 단어들 배열로 정리 String[] check = {"aya", "ye", "woo", "ma"}; // 단어들이 포함되어있으면 " " 로 바꿔준다 // "" 이렇게 먼저 바꿔버리면 wyeoo 같은 경우는 맞다고 처리되서 안된다 for(int i = 0; i < babbling.length; i++){ for(int j = 0; j < check.length; j++){ babbling[i]= babbling[i].replace(check[j], " "); } } //그리고 이제서야 공백을 trim() 을 사용해 공백을 없애준다 //그리고 나서 babblin..

➜ 코딩 테스트/프로그래머스

프로그래머스 - 등수 매기기 (JAVA)

import java.util.*; class Solution { public int[] solution(int[][] score) { int[] answer = new int[score.length]; List list = new ArrayList(); //학생의 점수 평균을 리스트에 추가하기 for(int i = 0; i < score.length; i++){ list.add((score[i][0] + score[i][1]) / 2.0); } //점수 평균을 내림차순으로 정렬한 새로운 리스트 만들기 List sortedlist = new ArrayList(list); Collections.sort(sortedlist, Collections.reverseOrder()); //순위를 저장할 맵 Map r..

➜ 코딩 테스트/프로그래머스

프로그래머스 - 특이한 정렬 (JAVA)

이문제를 봤을때 numlist 배열의 각 원소값과 n과의 길이에 대해 저장하는게 필요할거라 생각했다. 그래서 생각한건 HashMap을 사용해 키값에는 numlist 의 값 그리고 value 값에는 n의 거리에 대힌 값으로 설정했다. 그리고 음수가 나올걸 대비해 abs 를 써서 절대값으로 처리를 해줬다. 그리고 hashmap의 value값에 대해서 정렬을 해줘야되는데 값이 작은게 먼저 갈 수 있도록 정리해줘야됬고 만약 value값이 갔다면 key 값이 큰게 들어갈 수 있도록 정렬해줘야 됬다. comparator에 익숙하지 않아서 인터넷의 힘을 빌려서 쓸 수밖에없었다 좀더 공부가 필요할 것 같다. 그리고 그다음은 정렬된 list에서 answer 배열에다가 list의 key 값만 가져오면 끝! import j..

➜ 코딩 테스트/프로그래머스

프로그래머스 - 유한소수 판별하기 (JAVA)

class Solution { public int solution(int a, int b) { int gcd = gcd(a, b); a /= gcd; b /= gcd; while(b%2 == 0){ b /= 2; } while(b % 5 == 0){ b /= 5; } return b == 1 ? 1 : 2; } public static int gcd(int a, int b) { if ( b == 0){ return a; } return gcd(b, a % b); } } 최대공약수를 구하는 코드를 알고있으면 쉽게 풀 수 있는 문제였다.

➜ 코딩 테스트/프로그래머스

프로그래머스 - 겹치는 선분의 길이 (JAVA)

import java.util.*; class Solution { public int solution(int[][] lines) { int answer = 0; Map hm = new HashMap(); for(int i = 0 ; i = 2){ answer++; } } return answer; } } 배열에 있는 세 개의 선분에 대해서 시작점과 끝점 가져옴 각 선분에 대해 선..

➜ 코딩 테스트/프로그래머스

프로그래머스 - 평행 (JAVA)

package Programmers; import java.util.*; public class ProgrammingBasic { public static void main(String[] args){ int[][] dots = {{1, 4}, {9, 2}, {3, 8}, {11, 6}}; System.out.println(solution(dots)); } public static int solution(int[][] dots) { //평행인걸 확인하는 방법은 점과 점 사이의 길이가 같은지 확인하는 것 //8 , 2 / 8 / 2 //2개씩 짝짓는 방법은 // 1,2 / 3,4 1,3/2,4 1,4/2,3 float[] lengths = new float[6]; int index = 0; for(int ..

➜ 코딩 테스트/프로그래머스

프로그래머스 - 저주의 숫자 3 (JAVA)

class Solution { public 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; } } 코드는 간단해보이나 괜히 헷갈려서 고민하는데 시간이 오래걸렸다..

강맹석
'➜ 코딩 테스트/프로그래머스' 카테고리의 글 목록 (12 Page)