[개발] 코딩 테스트_Java 11

알고리즘 테스트2

public class Main { public String solution(String phone) { ////////////////////////////////////////////////////////////////////////////////// if(phone == null || phone == "") return "핸드폰번호 확인요망"; // 공란이나 null값일 경우 리턴메시지 송출 String answer = ""; String num1 = "0"; // 문자열 "0" 선언 String num2 = phone.substring(0,2); // 1~2번째 번호 추출 String num3 = phone.substring(2,6); // 2~5번째 번호 추출 String num4 = phone...

2016년_★☆

class Solution { public String solution(int a, int b) { int[] months = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; // 2016년은 윤년이므로 2월은 29일 String[] days = { "FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU" }; int totalDay = 0; // 월마다 일수 더해주기 for (int i = 1; i totalDay = month[0]+[1]+[2]+[3] = 31+29+31+30 = 121 } totalDay += b - 1; // 1월 1일부터 시작했으므로 -1 처리 // 24-1 = 23 return days[(totalDay..

행렬의 덧셈_★

(1) 행과 열의 크기가 같은 2차원배열 arr1과 arr2의 각 행과 열을 합산하는 문제입니다. (2) 먼저 answer의 크기를 arr1의 행과 열의 길이로 선언했습니다. (3) for문을 arr1의 행의 길이만큼 돌리고, 안에서 열의 길이로 for문을 한번 더 돌립니다. (4) 각 행과 열의 길이를 arr1과 arr2의 값에 대입하여 answer에 넣습니다. (5) for문을 마치고 나서 answer를 반환해주면 끝입니다. class Solution { public int[][] solution(int[][] arr1, int[][] arr2) { int[][] answer = new int[arr1.length][arr1[0].length]; // (2) for(int i = 0; i < arr1..

없는 숫자 더하기_★

먼저 i를 0으로 선언하고 *foreach loop를 이용하여 numbers 배열의 합을 sum에 합산. 0~9까지의 합인 45에서 sum을 뺴면 numbers에 빠진 숫자의 합이 리턴됩니다. class Solution { public int solution(int numbers[]) { int sum = 0; for(int a : numbers) sum+=a; return 45-sum; } } 명칭 함수 장점 단점 * foreach loop (Enhanced For Loop) for(초기화 : 배열) { // } 1. 프로그래밍 오류가능성을 낮춤 2. 코드를 더 읽기 쉬움 1. 배열에서만 사용가능 2. 배열의 값 변경 불가 3. cpu싸이클 낭비 기존 For Loop for(변수 선언 및 초기값 ; 조..