728x90

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/12916?language=java

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

풀이 - 나의 생각

String 함수 중 replaceAll을 활용하면 아주 쉽게 해결됩니다.

 

저 같은 경우 toLowerCase()를 사용했지만

 

replaceAll("[P,p,Y,y]","") 를 사용하면

 

P, p, Y, y가 모두 삭제되고

 

replaceAll("[^P,p,Y,y]","") 를 사용하면

 

P, p, Y, y를 제외한 문자를 모두 삭제합니다.

 

아무튼 저는 다 소문자로 바꾸고

 

p, y을 제외한 문자를 삭제했습니다.

 

그 후 p를 제외한 문자열 길이와 y를 제외한 문자열 길이가

 

짝수가 아니면 False를 반환하게 하였습니다.

 

하지만 이외에도

 

p를 제외한 문자열과 y를 제외한 문자열의 길이의 차가 0이 아니면

 

False를 반환하게 해도 됩니다.

 

 

 

코드

 

class Solution {
    boolean solution(String s) {
        boolean answer = true;
        
        s = s.toLowerCase();
        s = s.replaceAll("[^p,y]","");
        if(s.length() == 0) return answer;
        else if(s.length()%2!=0) return false;
        
        if(s.replaceAll("[p]","").length() == s.replaceAll("[y]","").length()) return true;
        
        return false;
    }
}

 

 

 

 

 

 

 

다음에 또 봐요

 

728x90

온라인 교육이 아닌 2024 상반기 기본 훈련의 안보교육 답입니다.

시기나 지역마다 답이 다를 수 있으니 확인하시기 바랍니다.

 

A형
OOXOO
전투감각, 훈련, 힘이없는평화, 예비군, 진정한 평화

B형
OOXOO
생존, 1968, 비상근예비군, 예비전력, 4차 산업기술

'잡담 > 일상' 카테고리의 다른 글

최근 근황  (0) 2024.02.24
728x90

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/151139

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

풀이 - 나의 생각

 

먼저 8~10월 총 대여 횟수가 5회 이상인 CAR_ID를 찾아낸 후

 

JOIN한다.

 

그 후에 GROUP BY로 달 별, CAR_ID 별로 묶어서

 

그 숫자를 센다.

 

 

코드

 

SELECT MONTH(START_DATE) MONTH, C.CAR_ID, COUNT(*) RECORDS
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY C
JOIN (
    SELECT CAR_ID
    FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
    WHERE MONTH(START_DATE) IN (8, 9, 10)
    GROUP BY CAR_ID
    HAVING COUNT(HISTORY_ID) >= 5) SUB ON C.CAR_ID = SUB.CAR_ID
WHERE MONTH(START_DATE) IN (8, 9, 10)
GROUP BY MONTH, C.CAR_ID
HAVING COUNT(*) >= 1
ORDER BY MONTH, C.CAR_ID DESC;

 

 

 

 

 

 

 

다음에 또 봐요

 

728x90

 

싸피에 주던 용돈 100만원이 끊겼다.

알바를 시작했다.

그 시간에 공부를 조금이라도 더 하는 게 좋은가? 라고 생각도 했지만

앞에서 말한 것처럼 

 

먹고 살긴 해야 하고

하루 종일 집에 있는다고 

 

그 모든 시간을 공부에 투자하지도 못할 거 같아서

좋게 생각하기로 했다.

 

요즘에는 알고리즘 공부에 중점을 두고 공부하고 있다.

코테를 해보면 아직 알고리즘 실력이 모자란다고 스스로 느끼기 때문이다.

그다음은 정처기 준비

다음 주면 필기시험이다.

그게 끝나면 CS, SQLD, JLPT N2, TOPIC을 준비할 예정이다

N2를 저번 시험에 땄으면 좋았겠지만 7점 차이로 미끄러졌다.

사실 프로젝트 준비 때문에 시험 준비를 별로 못했는데도 점수가 생각보다는

잘 나와서 의외였다.

 

 

 

아무튼 싸피 2학기 때부터 자존감이 떨어진다고 느껴진다.

면접도 떨어지고, 서류도 떨어지고 하다 보니 더 그렇다.

하지만 그러면서도 그냥 하자! 라고 생각하고 살고 있다.

'잡담 > 일상' 카테고리의 다른 글

2024 예비군 기초훈련 안보교육 시험문제 정답  (11) 2024.03.18
728x90

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/134240

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

풀이 - 나의 생각

 

StringBuilder에 반절분을 저장한 후

 

"0" 추가 후

 

기존에 저장된 음식을 뒤집은 걸 append 해주면 됩니다.

 

String의 경우 reverse 함수가 없지만

 

StringBuilder에는 reverse 함수가 있기에 이를 활용해 봤습니다.

 

Stirng으로 하실경우

 

반복문으로 문자열의 뒤에서부터 하나씩 저장해가면 

 

reverse된 문자열을 구하실 수 있습니다.

 

 

코드

 

class Solution {
    public String solution(int[] food) {
        StringBuilder sb = new StringBuilder();
        int len = 0;
        for(int i = 1; i < food.length; i++){
            for(int j = 0; j < food[i]/2; j++){
                sb.append(i);
            }
        }
        
        StringBuilder reverse = new StringBuilder(sb).reverse();
        sb.append("0").append(reverse);
        
        return sb.toString();
    }
}

 

 

 

 

 

 

 

다음에 또 봐요

 

728x90

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/12906

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

풀이 - 나의 생각

별건 없고

 

Stack의 맨 위의 숫자가

 

현재 검사하는 숫자와 같으면 pass

 

다르다면 Stack에 넣어주면 끝입니다.

 

 

코드

 

import java.util.*;

public class Solution {
    public int[] solution(int []arr) {
        Stack<Integer> stack = new Stack<>();
        stack.add(arr[0]);
        for(int num : arr){
            if(stack.peek() == num) continue;
            stack.add(num);
        }
        
        int[] answer = new int[stack.size()];
        int index = 0;
        for(int num : stack){
            answer[index++] = num;
        }
        return answer;
    }
}

 

 

 

 

 

 

 

다음에 또 봐요

 

728x90

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/77487

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

풀이 - 나의 생각

서브쿼리를 조인하여 문제를 해결했습니다.

 

 

코드

 

SELECT P.*
FROM PLACES P
JOIN (
    SELECT HOST_ID
    FROM PLACES
    GROUP BY HOST_ID
    HAVING COUNT(*) > 1
) Sub ON P.HOST_ID = Sub.HOST_ID
ORDER BY P.ID;

 

 

 

 

 

 

 

다음에 또 봐요

 

728x90

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/164671

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

풀이 - 나의 생각

 

 

 

 

코드

 

SELECT CONCAT('/home/grep/src/',BOARD_ID,'/',FILE_ID,FILE_NAME,FILE_EXT) FILE_PATH
FROM USED_GOODS_FILE
WHERE BOARD_ID LIKE (
    SELECT BOARD_ID
    FROM USED_GOODS_BOARD
    ORDER BY VIEWS DESC
    LIMIT 1
)
ORDER BY FILE_ID DESC

 

 

 

 

 

 

 

다음에 또 봐요

 

+ Recent posts