분류 전체보기
-
[프로그래머스/Level 3] 베스트앨범 (C++)알고리즘 문제풀이/프로그래머스 2020. 10. 10. 21:25
programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 �� programmers.co.kr 풀이 어떻게 문제를 해결할 지 로직은 잘 짠것 같은데, 이를 구현하는데 많이 애를 먹었다. 여러개의 벡터를 통해 데이터를 유연하게 옮겨가며 자유자재로 정렬을 사용할 수 있어야하는 문제였습니다. 장르별 전체 재생 횟수를 구하기 위해서 unordered_map을 사용하였고, 이를 벡터에 옮겨준 후, 정렬하였습니다. 정렬된 벡터를 이용하여 다시 장르 내에서 많이 재생된 노래..
-
[프로그래머스/Level2] 위장 (C++)알고리즘 문제풀이/프로그래머스 2020. 10. 10. 21:25
programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr 풀이 수학적인 사고력이 부족해서 잘 접근하지 못했던 문제 같습니다. 입력받은 복장들을 조합할 때 '복장을 입지 않는다.' 라는 선택지도 포함시켜야 하는 것이 문제 해결의 포인트입니다. 첫번째 입력값인 [[yellow_hat, headgear], [blue_sunglasses, eyewear], [green_turban, headgear]] 로 예를 들어보면 headgear에 포함되는 복장은 yellow_hat, green_turban, X(입지 않는 경우) eyewear에 포함되는 복장은 blue_sunglasses, X(입지 않는 경우) 입니다. 이를 통해 조..
-
[프로그래머스/Level 2] 전화번호 목록 (C++)알고리즘 문제풀이/프로그래머스 2020. 10. 10. 15:48
programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조�� programmers.co.kr 풀이 문자열 벡터 phone_book에 존재하는 전화번호들의 각각의 번호를 key로 하여 그 개수를 value로 더해나갑니다. key, value형태의 데이터를 저장하기 위해서 unordered_map 자료구조를 이용하였습니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 이와 같은 데이터 입력에서, phone_book의 첫번째 번..
-
[프로그래머스/Level 1] 완주하지 못한 선수 (C++)알고리즘 문제풀이/프로그래머스 2020. 10. 9. 23:36
programmers.co.kr/learn/courses/30/lessons/42576# 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수�� programmers.co.kr 풀이 #include #include using namespace std; string solution(vector participant, vector completion) { vector::iterator it_p, it_c; for(it_c=completion.begin();it_c!=completion.end();it_c++) { for(it_p..
-
[백준/BOJ] 13460번 구슬 탈출 2 (C++)알고리즘 문제풀이/백준 2020. 10. 9. 17:32
www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 풀이 DFS와 BFS 둘다 이용해서 풀이가 가능한 문제입니다. 해당 문제의 핵심이라고 생각하는 부분은 빨간 구슬과 파란 구슬의 이동에 따른 방문 여부를 확인하기 위해서 배열을 4차원으로 선언한다는 점과 이동하는 과정에서 두 구슬이 겹칠 때의 처리라고 생각합니다. void move(int &nx, int &ny, int dx, int dy, int &d) { wh..
-
[Spring] 스프링의 전통적인 트랜잭션, JPA의 OSIV 전략WEB/Spring 2020. 9. 29. 16:37
프로그램이 시작이 되면 처음으로 톰캣이 시작이 된다. 서버 작동을 위해서 web.xml이 읽어지고, 내부의 context.xml이 읽어져 DB에 연결이 되는지 확인한다. 연결이 잘된다면, 위와 같은 세팅이 완료된다. 이때 '홍길동이 장보고에게 10000원을 송금한다.' 라는 요청이 왔다고 가정한다. web.xml, 필터를 거쳐 스프링 컨테이너의 컨트롤러단에 요청이 도착한다. web.xml과 필터를 거치는 과정에서 DB 연결 세션이 만들어지고, (JDBC 커넥션 완료) 트랜잭션이 시작된다. (+ 영속성 컨텍스트가 만들어진다.) 컨트롤러단에서 어떤 요청이 들어왔는지 확인하고, 그 요청에 맞는 서비스로 요청을 전달한다. 서비스단에서 레포지토리단으로 먼저 홍길동의 계좌에 select를 요청하고, 그 후 장보고의..
-
정보처리기사 실기 용어 정리Computer Science/IT용어 2020. 9. 29. 14:49
반정규화(비정규화) 데이터베이스의 성능 향상을 위해 중복을 허용하고 조인을 줄이는 방법이다. 정규화 관계형 데이터베이스에서 중복을 최소화하기 위해서 데이터를 구조화하는 작업이다. XML HTML의 단점을 보완한 인터넷 언어로, SGML의 복잡한 단어를 개선한 다목적 마크업 언어이다. 웹 상에서 구조화된 문서를 상호 교환 가능하도록 설계된 웹 표준 문서 포맷으로 메타 데이터 정의가 명확하다. JSON 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 데이터 교환 형식이다. key, value가 쌍으로 존재하며, 태그로 표현하기보다는 중괄호 등을 이용한다. 살충제 패러독스(Pesticide Paradox) 같은 테스트 케이스를 가지고 테스트를 계속해서 반복하면 내성으로 인해 결국 버그가 발견되지 않는다. ..
-
오사카 여행기 - ④여행/해외여행 2020. 9. 28. 14:35
2017.10.27 여행 중 가장 정 들었던 숙소를 떠났다!!!! 마지막 날은 뭐할지 전혀 예정이 없어서 서로 그냥 기념품 및 쇼핑을 하기로 결정했고, 이 과정에서 서로 원하는 물품이 달라서 흩어졌다. 근데 와이파이 도시락이 하나밖에 없어서 일단 내가 들고가기로 했다. 다양한 스트릿 브랜드와 편집샵이 모여있는 오렌지 스트릿이다. (그때 당시에는 스트릿 패션에 관심이 많았다.) 챔피언 매장 안에서는 코듀로이 점퍼 하나를 입어봤던걸로 기억한다. 살까 말까 고민 많이 했는데 결국 안샀다. 근데 살 걸 그랬다. 기념품 느낌으로,, 위의 매장은 어딘지 기억은 잘 안나는데, 사장님이 엄청 친절하셨다. 영어로 뭐라뭐라 한정판이다 설명해주시고 사진 찍어도 되냐니까 마음껏 찍으라고 하셨다. ㅎㅎ 쇼핑을 마치고 부랴부랴 ..