본문 바로가기

프로그래머스 레벨1

[Programmers] Level1. 문자열 내마음대로 정렬하기 (Java) Level1. 문자열 내마음대로 정렬하기 문제설명 ) 풀이Code ) import java.util.ArrayList; import java.util.Collections; class Solution { public String[] solution(String[] strings, int n) { String[] answer = new String[strings.length]; ArrayList list = new ArrayList(); // 정렬을 편하게 하기 위해 list 선언 for (int i=0; i 더보기
[Programmers] Level1. 두 정수 사이의 합 (Java) Level1. 두 정수 사이의 합 문제설명 ) 풀이Code ) class Solution { public long solution(long a, long b) { long answer = 0; if (a == b) { answer = a; } else if (a > b) { answer = ((a+b) * (a-b+1))/2; } else { answer = ((b+a) * (b-a+1))/2; } return answer; } } 풀이법 ) 규칙이 존재한다. (큰수 + 작은수) * (큰수 - 작은수+1) /2 는 정답이 된다. int형으로 값을 담을경우 정답처리 되지않으므로 long 타입으로 변환하여 주여야한다. 더보기
[Programmers] Level1. 나누어 떨어지는 숫자 배열 (Java) Level1. 나누어 떨어지는 숫자 배열 문제설명 ) 풀이Code ) import java.util.ArrayList; import java.util.Collections; class Solution { public int[] solution(int[] arr, int divisor) { ArrayList list = new ArrayList(); for (int i=0; i 더보기
[Programmers] Level1. 같은 숫자는 싫어 (Java) Level1. 같은 숫자는 싫어 문제설명 ) 풀이Code ) import java.util.*; public class Solution { public int[] solution(int []arr) { int listCnt = 0; // list 가 담겨질 index 카운트 ArrayList list = new ArrayList(); // 비교할 값들을 담을 list list.add(arr[0]); // 초기에 arr 첫번째 인덱스의 값 넣어주기 for(int i=1; i 더보기
[Programmers] Level1. 가운데 글자 가져오기 (Java) Level1. 가운데 글자 가져오기 문제설명 ) 풀이Code ) class Solution { public String solution(String s) { String answer = ""; if (s.length() % 2 == 0) { // 짝수일때 answer = s.substring((s.length()/2) - 1, (s.length()/2) + 1); } else { answer = s.substring(s.length()/2, (s.length()/2) + 1); } return answer; } } 풀이 2 ) class Solution { public String solution(String s) { String answer = ""; answer = s.length() % 2 == 0.. 더보기
[Programmers] Level1. 2016년 (Java) Level1. 2016년 문제설명 ) 풀이Code ) 더보기 class Solution { public String solution(int a, int b) { int[] month = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int day = 0; String[] week ={"FRI","SAT","SUN","MON","TUE","WED","THU"}; String answer = ""; for (int i=0; i1 ? ((b-1)%7) : 0; // 일주일 단위로 나눈 나머지값 int weekIndex = 0; // 최종적으로 요일의 인덱스 // addDays를 해줬을때 한 주를 넘어가게되면 일요일부터 다시계산해준다. // 수요일인데 addDays가 .. 더보기
[Programmers] Level1. 체육복 (Java) Level1. 체육복 문제설명 ) 풀이Code ) 더보기 class Solution { public int solution(int n, int[] lost, int[] reserve) { int answer = 0; int cnt = 0; for (int i=0; i 더보기