전체 글333 프로그래머스] 네트워크 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. 5)데이터 접근 기술 - MyBatis MyBatis 소개 MyBatis는 앞서 설명한 JdbcTemplate보다 더 많은 기능을 제공하는 SQL Mapper 이다. 기본적으로 JdbcTemplate이 제공하는 대부분의 기능을 제공한다. JdbcTemplate과 비교해서 MyBatis의 가장 매력적인 점은 SQL을 XML에 편리하게 작성할 수 있고 또 동적 쿼리를 매우 편리하게 작성할 수 있다는 점이다. 먼저 SQL이 여러줄에 걸쳐 있을 때 둘을 비교해보자. jdbcTemplate sql 여러줄 String sql = "update item " + "set item_name=:itemName,price=:price,quantity=:quantity " + "where id =:id"; MyBatis sql 여러줄 update item set .. 인프런/스프링 DB 2편 2023. 3. 8. 4) 데이터 접근 기술 - 테스트 테스트 - 데이터베이스 연동 데이터 접근 기술에 대해서 더 알아보기 전에 데이터베이스에 연동하는 테스트에 대해서 알아보자. 데이터 접근 기술은 실제 데이터베이스에 접근해서 데이터를 잘 저장하고 조회할 수 있는지 확인하는 것이 필요하다 지금부터 테스트를 실행할 때 실제 데이터베이스를 연동해서 진행해보자. 앞서 개발한 ItemRepositoryTest 를 통해서 테스트를 진행할 것이다. 테스트 케이스는 src/test 에 있기 때문에, 실행하면 src/test 에 있는 application.properties 파일이 우선순위를 가지고 실행된다. 그런데 문제는 테스트용 설정에는 spring.datasource.url 과 같은 데이터베이스 연결 설정이 없다는 점이다테스트 케이스에서도 데이터베이스에 접속할 .. 인프런/스프링 DB 2편 2023. 3. 7. 3) 데이터 접근 기술 - 스프링 JdbcTemplate (2) JdbcTemplate - 이름 지정 파라미터 (1) 순서대로 바인딩 JdbcTemplate을 기본으로 사용하면 파라미터를 순서대로 바인딩 한다. 예를 들어서 다음 코드를 보자. @Override public void update(Long itemId, ItemUpdateDto updateParam) { String sql = "update item set item_name=?,price=?,quantity=? where id =?"; template.update(sql, updateParam.getItemName(), updateParam.getPrice(), updateParam.getQuantity(), itemId); } 여기서는 itemName , price , quantity 가 SQL에 있는.. 인프런/스프링 DB 2편 2023. 3. 7. 이전 1 ··· 7 8 9 10 11 12 13 ··· 28 다음