전체 글336 프로그래머스] 퍼즐 조각 채우기 https://school.programmers.co.kr/learn/courses/30/lessons/84021 참고 https://tmdrl5779.tistory.com/206 풀이 1. bfs를 이용하여 board 에서는 빈칸의 조각을 table에서는 퍼즐의 조각에 대한 정보를 저장한다. 각 조각의 정보는 원점을 기준(2차원배열을 사용하므로 i인덱스 0 j 인덱스0를 의미)으로 정렬한다. bfs를 이용하여 각 노드그룹을 방문하고, 각 노드그룹의 좌표값들을 저장한다고 생각하면 된다. [board, table의 정보가 2차원배열로 들어온다. xy그래프로 생각해서 원점기준 정렬을 하지만 실제로 저장된 조각의 정보 좌표는 2차원배열의 인덱스로 보면 된다.] 조각들의 좌표 정렬은 i인덱스의 오름차순, i가 .. 자바/알고리즘 문제 풀이 2023. 5. 10. 프로그래머스] 아이템줍기 https://school.programmers.co.kr/learn/courses/30/lessons/87694 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 2차원배열로 들어오는 직사각형의 정보를 받고, 테두리는 1로 채우고, 내부내용은 2로 채워서 전체 테두리 부분을 구한다. x,y는 y가 2차원배열의 i인덱스 , x가 2차원배열의 j인덱스로 생각하고 진행한다. 문제발생 -> 꺾어서 진행해야하는부분이 bfs로 통과할때 문제가 발생함. 꺾어서 내려가야하는데 바로 쭉내려가버림 정답은 17인데 안쪽으로 들어갔다나오지않아서 15로 출력됨. 해결방안 -.. 자바/알고리즘 문제 풀이 2023. 5. 9. 프로그래머스] 단어 변환 https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 바꿀수있는단어를 큐에담아 bfs진행 import java.util.*; class Solution { static boolean[] visited; static int n; static int result =0; public int solution(String begin, String target, String[] words) { /* 문자의 차이가 1개인 단어를 찾아서 bfs진행 */ n .. 자바/알고리즘 문제 풀이 2023. 4. 27. 프로그래머스] 네트워크 https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 dfs또는 bfs가 몇번동작하는 문제 백준의 촌수 구하는 문제와 비슷. 문제는 간선의 정보를 주는것이 아니라 인접행렬을 전달해준다. 매번 간선의정보를 받아 인접리스트를 만들어서 사용했었다. 1. 인접행렬을 인접리스트로 바꿔서 푸는 방법 2. 인접행렬로 푸는 방법을 시도한다. 인접리스트 또는 인접행렬의 전체를 순회하며 방문한 노드인지 확인한다. 1. 인접행렬을 인접리스트로 바꿔서 푸는 방법 i.. 자바/알고리즘 문제 풀이 2023. 4. 27. 프로그래머스] 타겟넘버 https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 +, - 로 이루어진 그래프가 있다고 생각한다. 해당 그래프를 순회하면서 주어진 숫자배열에 값들을 더하거나 빼면서 target 넘버가 나오는지 확인한다. import java.util.*; class Solution { static int count=0; //결과를 저장할 변수 static char[] d = {'+','-'}; //반복문을 쓸거면 사용할 배열 static public int.. 자바/알고리즘 문제 풀이 2023. 4. 27. 프로그래머스1/상위 n개 레코드/limit limit는 제일 뒤에 적어준다. https://school.programmers.co.kr/learn/courses/30/lessons/59405 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -- 코드를 입력하세요 SELECT name from animal_ins order by datetime asc limit 1 데이터베이스/MySQL 문제 풀이 2023. 3. 29. 프로그래머스4/오프라인/온라인 판매 데이터 통합하기/union,서브쿼리,null https://school.programmers.co.kr/learn/courses/30/lessons/131537 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr union( 데이터 중복 상관없이 다 합침) union all ( 중복된 데이터는 하나만 냅두고 합침) union한 결과에다가 조건을 붙이고 싶다면 그 결과를 서브쿼리로 사용한다. 서브쿼리에는 별칭부여해야함 Null을 사용해야한다면 Null 쓰고 별칭부여 select * from ( SELECT date_format(sales_date,'%Y-%m-%d') as sales_date, produc.. 데이터베이스/MySQL 문제 풀이 2023. 3. 29. 프로그래머스2/재구매가 일어난 상품과 회원 리스트 구하기/group by 컬럼2개 https://school.programmers.co.kr/learn/courses/30/lessons/131536 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT user_id,product_id from online_sale group by product_id, user_id having count(*) >1 order by user_id,product_id desc group by 속성 2개 사용가능 group by는 그룹화 시킨다. select를 이용해서 조회할때 그룹별 하나씩 값을 조회된다고 생각하면 된다. 데이터베이스/MySQL 문제 풀이 2023. 3. 28. 프로그래머스4/서울에 위치한 식당 목록 출력하기/group by,join,avg,round https://school.programmers.co.kr/learn/courses/30/lessons/131118 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT ri.rest_id, ri.rest_name, ri.food_type, ri.favorites, ri.address, round(avg(rr.review_score),2) as score from rest_info ri join rest_review rr on ri.rest_id = rr.rest_id where ri.address like '서울%' group by rest_id .. 데이터베이스/MySQL 문제 풀이 2023. 3. 28. ★프로그래머스3/베스트앨범/Map,Comparator,class 하나의 Map을 이용해서 풀려고하니 복잡해진 문제 2개의 Map으로 나눠도 좀 복잡하긴하다. Map을 정렬하려면 EntrySet를 이용해서 정렬하던지 Map안에 정렬가능한 List같은 collection객체를 넣던지 해야한다. Map을 EntrySet로 정렬하고 정렬된 EntrySet의 Key(장르)를 이용하여 인덱스를 가져오는 풀이 import java.util.*; import java.util.Map.*; class Solution { public int[] solution(String[] genres, int[] plays) { Map map = new HashMap(); // Map map2 = new HashMap(); // > for(int i=0;i { return map2.get(o2.g.. 자바/알고리즘 문제 풀이 2023. 3. 28. 프로그래머스2/위장 / Hash https://school.programmers.co.kr/learn/courses/30/lessons/42578 values는 collection으로 , keySet은 set으로 반환되지만 그냥 바로 받아서 사용가능 + 조합의 경우의 수를 잘생각해야한다. import java.util.*; import java.util.Map.*; class Solution { public int solution(String[][] clothes) { int answer = 1; Map map = new HashMap(); for(String[] cloth : clothes) { String category = cloth[1]; map.put(category,map.getOrDefault(category,0)+1); .. 자바/알고리즘 문제 풀이 2023. 3. 28. 프로그래머스] 완주하지 못한 선수 /Hash https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 배열 정렬로 풀이 참가자,완주자 명단을 정렬 참가자명단을 반복문을 돌면서 같은 인덱스에 완주자 명단을 보고 이름이 같은지 체크 아니면 완주 못한사람 public String solution(String[] participant, String[] completion) { String answer = ""; if(participant.length == 1) { return participant[.. 자바/알고리즘 문제 풀이 2023. 3. 28. 이전 1 ··· 7 8 9 10 11 12 13 ··· 28 다음