티스토리챌린지 12

[프로그래머스/ 코딩테스트 연습문제] 이상한 문자 만들기

Q. 이상한 문자 만들기A1class Solution { public String solution(String s) { StringBuilder answer = new StringBuilder(); int start = 0; //문자열을 처음부터 끝까지 for문 반복으로 확인 for(int i=0; i 대문자 if((j-start) % 2 == 0){ answer.append(Character.toUpperCase(c)); //단어 내 홀수 인덱스 일 경우 -> 소문자 }else { ..

[프로그래머스/ 코딩테스트 연습문제] 최대공약수와 최소공배수

Q. 최대공약수와 최소공배수A.class Solution {//코드 재사용성을 위해 최대공약수와 최소공배수는 메서드를 따로 분리해봄    public int[] solution(int n, int m) {//두 수 중 큰값 = max, 두 수 중 작은 값= min        int max = Math.max(n,m);        int min = Math.min(n,m);        //GCD : 최대공약수를 계산하는 메서드 호출, LCM : 최소공배수를 계산하는 메서드 호출         int gcd = getGCD(max,min);        int lcm = getLCM(max,min,gcd);        //answer = [최대공약수, 최소공배수]를 리턴해야하니까 배열로 반환     ..

[프로그래머스/ 코딩테스트 연습문제] 행렬의 덧셈

Q. 행렬의 덧셈A.class Solution {    public int[][] solution(int[][] arr1, int[][] arr2) {//arr1과 arr2 두개의 배열 크기가 같으니까 answer 배열의 크기도 같게 만들어줘야함//[arr1.length] : 행의 길이(개수)//[arr1[0].length] : 열의 길이(개수)        int[][] answer = new int[arr1.length][arr1[0].length];        //i가 0부터 배열의 행의 길이만큼 1씩 증가하면서 answer에 값을 넣음        for(int i=0; i//j가 0부터 배열의 열의 개수만큼 1씩 증가하면서 answer에 값을 넣음            for(int j=0; j..

[프로그래머스/ 코딩테스트 연습문제] 문자열 다루기 기본

Q. 문자열 다루기 기본A.class Solution {    public boolean solution(String s) {        boolean answer = true;        //문자열의 길이 확인//문자열의 길이가 4 혹은 6이 아닌경우 false 반환        if(s.length() != 4 && s.length() !=6){            answer = false;        }        //문자열의 길이가 true일 경우 다음 조건문 실행//charAt을 사용하여 문자를 하나씩 검사        for(int i=0; i //문자열 s에서 i번째 문자를 가져와서 검사            char c = s.charAt(i);//c가 0보다 작고, 9보다 클 경우..

[프로그래머스/ 코딩테스트 위클리 챌린지] 부족한 금액 계산하기

Q. 부족한 금액 계산하기A.class Solution {    public long solution(int price, int money, int count) {        long answer = -1;//놀이기구를 탄 총 금액 : sum        long sum = 0;        //놀이기구를 탄 총 금액을 구하기 위해 for 문 사용//놀이기구 이용료 * 놀이기구를 이용한 횟수를 모두 더한 값 = 놀이기구를 탄 총 금액//1번 탔을 때부터 count번 탔을 때까지 i를 1씩 증가하면서 price와 곱해준 후에 sum에 값을 더해줌        for(int i=1; i            sum += price * i;        }        //만약 가진 금액이 놀이기구를 이용한 ..

[트러블 슈팅] Spring 일정 관리 앱 develop

- 어떤 현상을 발견했는가?1. deleteSchedule 반환 타입 오류 2. Entity 이름 중복 3. Auditing 설정 문제  이런 장애가 생길 수 있다는 것을 인지1. deleteSchedule 반환 타입 오류-deleteSchedule은 삭제 메소드이기 때문에 삭제만 수행하고 데이터를 반환하지 않아도 되는데 반환타입을 Schedule로 잘못 설정함. 2. Entity 이름 중복-Hibernate에서 @Entity를 사용할 때 클래스 이름이 중복되는 경우 두 entity를 동일한 이름의 테이블로 인식함.-이때, entityManagerFactory의 bean 생성 중 BeanCreationException이 발생.-애플리케이션 실행 실패 3. Auditing 설정 문제-Spring Data ..

[프로그래머스/ 코딩테스트 연습문제] 문자열 내림차순으로 배치하기

Q. 문자열 내림차순으로 배치하기A.import java.util.Arrays;import java.util.Collections;class Solution {    public String solution(String s) {//문자열을 배열로 변환//내림차순 Collections.reverseOrder를 사용하기 위해 래퍼클래스 배열로 생성        Character[] arr = new Character[s.length()];//for문을 사용해 배열에 문자를 하나씩 넣음        for(int i=0; i            arr[i] = s.charAt(i);        }        //배열 arr를 내림차순 정렬//대문자는 소문자보다 작은 것으로 간주//Collections.re..

[프로그래머스/ 코딩테스트 월간코드챌린지 시즌2] 약수의 개수와 덧셈

Q. 약수의 개수와 덧셈A.class Solution {    public int solution(int left, int right) {        int answer = 0;        //left에서 right 사이의 모든 수를 i에 대입해서 사용        for(int i=left; i//약수의 개수를 세야하니까 count를 선언해서 사용            int count = 0;            //약수 개수 구하기//1부터 i까지 1씩 증가하면서 나눠서 나머지가 0이면 약수//약수일 경우 count를 증가시킴            for(int j=1; j                if(i%j == 0){                    count++;              ..

[프로그래머스/ 코딩테스트 연습문제] 수박수박수박수박수박수?

Q. 수박수박수박수박수박수?A.class Solution {    public String solution(int n) {        String answer = "";//수박이라는 글자가 반복되야하니까 for문 사용//홀수일때는 "수" 짝수일때는 "박"이 입력되도록하면 조건에 맞게 반복 됨        for(int i=1; i             if(i%2 != 0){                answer += "수";            }else{                answer += "박";            }        }        return answer;    }}

[프로그래머스/ 코딩테스트 연습문제] 제일 작은 수 제거하기

Q. 제일 작은 수 제거하기A.class Solution {    public int[] solution(int[] arr) {//리턴하려는 배열이 빈 배열인 경우에 배열에 -1을 채워 리턴//빈 배열인 경우는 arr 배열의 크기가 1인 경우이니까 arr.length가 1인 배열일 경우//-1을 넣어서 반환        if(arr.length == 1){            return new int[]{-1};        }        //최솟값 찾기//min을 정수타입이 가질 수 있는 최댓값으로 초기화하고, 이 값을 가지고 배열의 요소와 비교를 하면서 더 작은 값을 찾는 방식        int min = Integer.MAX_VALUE;        //배열을 비교하면서 제일 찾은 값을 찾는 ..