본문 바로가기

전체 글103

[프로그래머스][SQL] 그룹별 조건에 맞는 식당 목록 출력하기(131124) 📦 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📦 문제 풀이 리뷰를 가장 많이 작성한 회원을 가장먼저 구해야 겠다 싶어서 GROUP BY를 사용하여 쿼리 작성 SELECT MEMBER_ID FROM REST_REVIEW GROUP BY MEMBER_ID 회원 중 가장 많이 리뷰를 작성한 사람을 찾아야했기 때문에 GROUP BY에서 필터링 할 때 사용하는 HAVING을 이용, 리뷰를 가장 많이 쓴 횟수를 조회하는 SELECT문을 생성하여 조회 후 MEMBER_ID만 조회 SELECT MEMBER_ID FROM REST_REVIEW GROUP BY .. 2023. 3. 9.
[백준] 스택(10828) 📦 문제 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net stack을 이해한 이후 활용해보고 싶은마음에 풀은 문제 push,pop을 입력받는 곳을 if처리 하려다 그러면 입력때마다 if~elseif를 타고 내려가야 하는게 비효율적이라고 생각되어서 switch로 작성 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; pu.. 2023. 3. 8.
[Java] StringBuffer StringBuffer 👏 도움 점프 투 자바: StringBuffer 03-05 StringBuffer [TOC] StringBuffer는 문자열을 추가하거나 변경 할 때 주로 사용하는 자료형이다. StringBuffer의 메서드들을 살펴보면서 StringBuffer의 사용법에… wikidocs.net 개념 StringBuffer는 문자열을 추가하거나 변경할 때 사용하는 자료형이다. 문자열을 작업중에 가공하기에 유용하다 ■ append append는 StringBuffer객체를 생성하며 문자열을 생성해준다. //StringBuffer 객체 생성 StringBuffer sb = new StringBuffer(); //sb에 문자열 추가 sb.append("Hello"); sb.append(" "); sb.. 2023. 3. 7.
[알고리즘] 에라토스테네스의 체(소수를 찾는법) 에라토스테네스의 체 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 수학에서 에라토스테네스의 체는 소수를 찾는 방법이다. 고대 그리스 수학자 에라토스테네스가 발견하였다. 알고리즘[편집] 2부터 소수를 구하고자 하는 구간 ko.wikipedia.org ◼︎ 개념 소수를 구하는 알고리즘인 에라토스테네스에 대해 알아보자 소수란 무엇인가? - 소수: 1보다 큰 정수 1과 자기 자신으로만 나누어지는 수 라고 되어있으며 이러한 소수에는 2, 3, 5, 7...이 존재한다. 일반적으로 숫자를 입력받아 1~n사이의 소수를 구하라는 문제를 받았을 때 2로나누어 나머지가 존재하면 "소수", 나머지가 존재하지 않으면 "정수"로 간단하지만 반복을 많이 하는 코드를 작성해서 구현하였다. 하지만 에라토스테네.. 2023. 2. 28.
[자료구조] Stack ■ 개념 - Stack 자료구조는 데이터를 일시적으로 저장하기위한 자료구조 - 마지막에 추가된 데이터가 가장먼저 제거되는 LIFO(Last In First Out) - Stack포인터라고 불리는 인덱스 변수를 사용하여 가장위에 존재하는 데이터를 추적한다 top이라는 index변수를 생성하여 포인터처럼 활용 ■ 특징 Stack에 데이터를 추가하는 작업은 "push", 가장 위에 존재하는 데이터를 꺼내는 작업은 "pop"이라고 한다. 1. 제한된 접근 Stack은 데이터를 꺼내거나 추가할 때 제일 위에 존재하는 데이터만 접근할 수 있다. 이는 데이터가 추가되고 제거될 때 다른데이터에 영향을 미치지 않게 하기 위함이다. 2. 속도 Stack은 가장 위에 존재하는 데이터에대한 데이터 추가, 제거 및 접근에 최적.. 2023. 2. 27.
[프로그래머스][이해못함] 시소 짝궁 class Solution { public long solution(int[] weights) { long answer = 0; //범위가 100000이라서 무조건 반복은 한번 돌아야 한다고 생각 --> ? Map hm = new HashMap(); Set mySet = new HashSet(); //☑ Set공부 int leng = weights.length; for(int i = 0; i < leng; i++){ if(!hm.containsKey(weights[i])){//weights가 key값으로 가지고 있지 않다면 List myList = new ArrayList(); //리스트 생성 myList.add(i);//리스트에 추가 hm.put(weights[i], myList);//map의 key값.. 2023. 1. 20.