본문 바로가기

전체 글245

[프로그래머스] #136 로또의 최고순위와 최저순위 (Swift) https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 구현 level 1 1부터 45까지의 수를 중복없이 6개가 나열된 로또 번호가 2개 주어진다. (배열 2개, 중복없음은 하나의 로또 번호안에서만 해당) 하나는 민우의 손상된 로또 번호로, 0으로 표시된 수가 손상된 수이다. 다른 하나는 당첨 번호를 담은 로또이다. 이때, 민우가 가진 로또가 될 수 있는 최고 순위와 .. 2022. 2. 16.
[프로그래머스] #135 예산 (Swift) programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr 1. 적용 알고리즘과 문제 설명 그리디 알고리즘을 적용하는 문제이다. 그리디 알고리즘은 선택의 순간마다 당장 눈앞에 보이는 최적의 상황만을 쫓아 최종적인 해답에 도달하는 방법이다. 대표적인 문제로 knapsack 문제가 있는데, 이 문제는 0-1 knapsack 문제와 유사하지만 가방 속 아이템들의(여기서는 각 부서)가치가 아닌 아이템의 갯수만 많으면 되기 때문에 0-1 knap.. 2022. 2. 11.
[프로그래머스] #134 최소직사각형 (Swift) https://programmers.co.kr/learn/courses/30/lessons/86491?language=swift 코딩테스트 연습 - 최소직사각형 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr 구현 명함의 가로와 세로 길이를 담은 [w,h] 배열이 명함의 갯수만큼 주어진다. (2차원배열, [[w,h]]) 명함들을 적절히 90도 회전하여 (w,h)->(h,w) 모든 명함을 담을 수 있는 지갑의 최소한의 넓이구하는 문제 접근방법 처음에는 모든 명함들이 회전한경우,회전하지않은경우 의 지갑의 최소 넓이를 모두 구해야 하나 싶었다. (브.. 2022. 2. 11.
[프로그래머스] #133 K번째수 (Swift) https://programmers.co.kr/learn/courses/30/lessons/42748?language=swift 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 정렬 자연수 (1~100) 배열이 주어지고 command : [시작점, 끝점, K]가 배열로 주어진다. 자연수 배열을 시작점과 끝점 범위에 맞게 자른뒤 정렬하고, 그 중 K번째수를 구한다 각 command의 K번째수를 담은 배열을 반환하는 문제 접근방법(접근방법1) command를 for문으로 순회하며 subArray를 구하고, 정렬한 뒤, K번째 인덱스를 result 배열에 append함 -> 최종적.. 2022. 2. 10.
[프로그래머스] #132 체육복 (Swift) https://programmers.co.kr/learn/courses/30/lessons/42862?language=swift 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 탐욕법(Greedy) 체육복을 도난 당한 친구들에게 여분이 있는 학생들이 양옆의 친구에게 빌려줘서 체육복이 없는 학생 인원을 최소로 줄여서 체육복이 있는 학생수를 출력하는 문제 접근방법 우선 본인이 여벌의 옷을 갖고 있는데 한개를 분실한 친구 번호는 양배열에서 모두 제거한다. (filter사용) 체육복이 있는 학생 번호를 담은 reser.. 2022. 2. 10.
[프로그래머스] #131 모의고사 (Swift) https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 완전탐색 학생 3명의 반복되는 답이 문제에 주어지고, 정답을 담을 배열이 인자로 주어지면 학생들 중 가장 높은 점수를 획득한 학생들을 결과로 반환하는 문제 접근방법 학생들의 답을 담은 배열과 정답 배열을 순회하면서 일일이 비교하여 학생들 각각의 점수를 구한 뒤 최고점과 점수가 같은 학생들을 결과 배열에 담아, 오름차순으로 정렬하여 반환하는 식으로 풀이했다. 처음.. 2022. 2. 8.
[프로그래머스] #130 메뉴 리뉴얼 https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 2021 KAKAO BLIND RECRUITMENT : 메뉴 리뉴얼 손님이 주문한 단품메뉴의 목록이 아래와 같이 score 배열로 주어지고 1번 손님 A, B, C, F, G 2번 손님 A, C 3번 손님 C, D, E 4번 손님 A, C, D, E 5번 손님 B, C, F, G 6번 손님 A, C, D, E, H 이 중 두 개 이상의 메뉴를 조합하여 코스요리를 .. 2021. 12. 8.
[백준 14500] #129 : 테트로미노 (C++) https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net C++ 구현, 브루트포스 사진에 보이는 5개의 테트로미노를 회전, 대칭 시켜서 점수가 적혀있는 판에 놓았을 때 테트로미노가 놓여진 칸들의 점수의 합의 최대값을 구하는 문제이다. 접근방법 브루트포스로 풀었다. 나올 수 있는 모든 도형의 모양을 구하고 (0,0) 기준으로 좌표를 구한다음 모든 도형에 대해 일일이 어디에 두면 가장 큰 값이 나오고, 그 중에 어떤 도형이 가장 큰 값을 내는지 찾았다. 도.. 2021. 10. 11.
[C++] C++에서 문자열 split하기 (istringstream, getline) istringstream과 getline사용 #include #include #include using namespace std; int main(){ //나눌 문자열 string str = "C is quirky, flawed, and an enormous success"; //나눈 문자열들을 담을 변수 string token; //방법1 : istringstream 사용 //문자열을 ' '(공백 1칸)으로 구분하기 istringstream iss(str); //str을 입력받은 input string stream //getline은 구분자로 char 즉 하나의 문자 밖에 못받음 while(getline(iss, token, ' ')) cout 2021. 10. 6.
[Git] 커밋 메세지로 이슈 닫기 # git commit -m "Feat: ㅇㅇ 기능 구현 close #2" 이렇게 커밋메세지에 close, closed 키워드를 써주고 #이슈번호 를 입력해주면 됨 2021. 9. 12.
[JPA] 1:1 식별관계 외래키를 기본키로 사용하는 경우 1:1 관계, 단방향, 식별관계 참조 되는 테이블 단방향이므로 컬럼 불필요 다른 설정도 불필요 참조 하는 테이블 @Id @Column(name = "account_id") private Long id; @OneToOne @MapsId @JoinColumn(name = "account_id") private Account account; 참조되는 테이블의 기본키 형식그대로 Id 변수를 하나 만들어주고 그 밑에 1:1연관관계 설정을 또 해줘야한다. 그리고 Repository 인터페이스 상속받을땐 으로 해줘야함 2021. 9. 11.
[GIT] 원격 브랜치 로컬에서 불러오기 로컬에서 브랜치를 생성하는게 아니라 깃허브 웹에서 브랜치를 생성했을 때 로컬에서 브랜치를 조회하면 새로 만든 브랜치가 보이지 않는다. 이때 $ git remote update 명령을 통해 원격 브랜치를 불러온다. $ git branch -a 을 해보면 새로 만든 브랜치까지 조회되는 것을 볼 수 있다. 이후 해당 브랜치로 체크아웃해야할 때 $ git checkout -t 해당브랜치이름 을 입력하면 된다. 이후 add commit push 작업을 해주면 된다 ~ 간단하지만 매번 까먹어서 적어둔다! 2021. 9. 10.