전체 글 185

[SQL] 코딩테스트를 위한 쿼리문 및 문법 정리

SELECT 찾을 컬럼 COUNT와 같은 함수를 사용할 때는 AS로 컬럼 이름을 정할 수 있음 ORDER BY order by 뒤에 우선순위가 있는 열을 적음 다중정렬 : 순서대로 정렬의 우선순위를 의미하며 2가지 이상의 필드를 조합하여 정렬할 수 있음 -- NAME 오름차순, 같을 경우 DATE 내림차순으로 ORDER BY NAME, DATE DESC GROUP BY 집계함수와 함께 사용되어 결과를 지정한 컬럼에 따라 그룹으로 묶을 수 있음 -- 각 도시에 사는 사람이 몇명인지 계산하여 출력 SELECT COUNT(id) FROM customers GROUP BY country; LIMIT 결과 개수 제한 -- NAME 순으로 오름차순 정렬된 테이블 가장 위에서부터 2개의 레코드 결과만 가져옴 ORDE..

[취준 일기] 현대캐피탈 코딩 테스트 후기

세어보니 벌써 5주 연속 코딩 테스트 응시라서, 조금은 귀찮아 후기를 작성하는 걸 미뤄왔는데 그래도 느낀점이 있어 적으려 한다. 시험 시작 시간은 오후 3시였는데 2시까지 들어와달라고 했지만 사실 2시부터 들어갈 수 있는 것이고, 따라서 점심 먹고 조금 느긋하게 2시 15분까지 들어갔다. 그래도 너무 느긋하게 감독관 확인하고 시간이 많이 남아 눈 감고 기도하다가 좀 잤다...(?) 문제는 SQL 없이 알고리즘 3문제를 2시간 안에 풀도록 구성되어 있었다. 그리고 기억 나는 문제 유형 분류는 다음과 같다. 1. 날짜 관련 구현 + 아마도 완전 탐색 2. 백트래킹(DFS) 3. 날짜 관련 구현 어쨌든 캐피탈사에 또 지원하게 됐는데 현대캐피탈도 좋은 곳이니만큼 최선을 다했다. 그 결과가 1솔인 게 슬플뿐.....

자유/주절주절 2022.10.24

[취준 일기] 신한캐피탈 2차 면접 후기

1차 면접을 합격하고 2차 면접 관련 정보를 얻기 위해 엄청나게 구글링을 했는데 정말로 정말로 아무것도 찾을 수 없었다... 그나마 찾은 카페 글이 2018년 후기정도 1차 면접에서 그래도 절반은 2차 면접을 갔는데 아무도 블로그 포스팅을 안해주셨나보다 ㅠㅠ 나는 오늘 면접을 보고 왔으므로 따끈따끈할 때 복기하며 작성해야겠다. 일단 면접은 지원자 4 : 면접관 3으로 45분간 이루어졌는데 우리 조는 한 분이 불참이셔서 3:3으로 진행됐다. 그래도 45분은 똑같이 지켜졌다. 3명이서 진행해도 내가 듣기만 하는 시간이 좀 길다고 느껴졌는데 4명이서 했으면 좀 더 경청의 시간이 길었을 것 같다. 같이 들어간 지원자는 다 IT일 줄 알았는데 나 포함 2명 IT, 한 분은 투자쪽(IB?) 지원자이신 것 같았다. ..

자유/주절주절 2022.10.20

[골드 V] 1107번. 리모컨

문제 https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 사용 언어 Python3 풀이 과정 이 문제는 처음에 경우를 너무 많이 나눠야 하는거 아닌가 고민됐는데 알고리즘 분류를 보니까 브루트 포스를 사용하면 됐다. 그런데 브루트 포스 문제 저번에 한 번 풀어봤지만 어떻게 구현해야 할지 감이 안와서 난 결국 product(중복조합)을 사용했다. 제출했더니 천천히 올라가길래 맞았나 했는데 96%에서 틀렸습니다가 떴다... 이럴수가 근데..

[실버 III] 9375번. 패션왕 신해빈

문제 https://www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net 사용 언어 Python3 풀이 과정 실버 III인데 아래 채점 결과를 보면 알겠지만 생각보다 어렵게 풀었다.. 끝까지 첫 번째 방법을 고수했으면 못 풀었을 것 같기도 하다... 스터디 전까지 못 풀어서 스터디원들의 풀이를 듣고 고쳐서 풀었다. 나는 아래처럼 조합을 모두 구해서 각 조합별로 가능한 가짓..

[취준 일기] 신한캐피탈 1차 면접 후기

어제는 엄청나게 바쁜날이었다. 일단 아침 9시 10분까지 신한캐피탈 면접 장소인 인사동으로 이동해서 면접을 봤다. 항상 수험번호가 끝쪽인 내가 특이하게 첫 타임으로 면접을 봤는데 그래서 배정 방식이 너무 궁금했다. 랜덤은 아닐텐데 수험번호 순도 아니고 가나다순도 아니고 그렇다면 필기점수 낮은순..? 밖에 안남아서 힁 진짜 그건거 싶었다. 신한캐피탈 시험을 잘봤다는 생각은 안들었었으니까... 특이하게 호텔에서 면접을 보는 신한캐피탈. 가는 길이 조금 어려웠는데 내가 안녕인사동쪽으로 들어가서 그랬다. 그래도만난 모든 인사팀 직원분들이 너무 친절하시고 다음 일정도 미리 알려주셔서 좋았다. 대기 장소에서는 간단하게 음료랑 다과도 준비되어 있어 먹을 수 있었다. 어쨌든 면접은 면접관 2: 지원자 1로 2~30분씩..

자유/주절주절 2022.10.13

[취준 일기] SKTelecom 코딩 테스트 후기

시험은 어제 9일(일) 오전 11시에 봤는데 정신이 없어서 이제 작성하는 후기! 3주 연속 코딩 테스트인데 다음주에도 또 예정되어 있다. 코딩 테스트가 익숙해져서 확실히 좋은 것 같음!! 어쨌든 SKT는 SQL 없이 알고리즘 4문제 / 150분으로 진행되었다. 지금 생각났는데 시간이 엄청 부족하다는 생각이 안 들었던 걸 보면 난이도가 엄청 어렵진 않았나보다. 그런데 나는 2솔을 했지... 그리고 히든케이스 채점 없이 제출만 하고 끝나기 때문에 2솔이 확실하지도 않다 ㅎ 기억나는대로 문제를 복기해보면, 1. 완전탐색 구현 2. BFS? 알 수 없음 3. 백트래킹 or DP 4. 구현 - 문제 이해하기가 좀 헷갈림 대기업인 만큼 사전 확인(신분증, 손목, 손바닥, 귀, 메모장 양면, 응시환경 360도 확인 ..

자유/주절주절 2022.10.11

[골드 IV] 9935번. 문자열 폭발

문제 https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 사용 언어 Python3 풀이 과정 요즘 코딩 테스트를 많이 보며 확실히 느낀 코테 빈출 "문자열" 문제!! 뭔가 이제는 느낌이 다 비슷하다. 저번의 PPAP와 또 비슷한 느낌이었다. 처음엔 나는 저번에 공부한 re 라이브러리를 이용해서 정규식을 써볼까 했는데 문제의 조건을 보니 문자열 길이가 100만까지였다..ㅎㅎ 처음 생각한 방식은 단순무식하게 정규표현식 혹은 replace..

[Level 2] 모음사전

문제 https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 사용 언어 Python3 풀이 과정 코딩 테스트 시즌이다 보니 자주 시험 보는 프로그래머스에 익숙해지려고 오랜만의 프로그래머스 문제를 셀렉(?)했다. 어떤 알고리즘을 쓸까 좀 고민은 했지만 첫 번째 제출에 통과! 근데 1점밖에 안 준 걸 보면 효율이 개똥인가보다. 내 생각에도 그럴 것 같은데... 문제는 이 부분이다. # 백트래킹 def backtracking(word, tmp_word): ..

[골드 IV] 11559번. Puyo Puyo

문제 https://www.acmicpc.net/problem/11559 11559번: Puyo Puyo 총 12개의 줄에 필드의 정보가 주어지며, 각 줄에는 6개의 문자가 있다. 이때 .은 빈공간이고 .이 아닌것은 각각의 색깔의 뿌요를 나타낸다. R은 빨강, G는 초록, B는 파랑, P는 보라, Y는 노랑이다. www.acmicpc.net 사용 언어 Python3 풀이 과정 골드 IV 문제 내 힘으로 풀어보겠다고 6시간을 쓴 날에 대하여...🤦‍♀️ 여느 때처럼 문제 설명은 짧고 명료했다. 어떻게 구현해야 할지 느낌도 왔다! 그런데 막상 처음 제출까지 (설렁 설렁 풀며 딴 짓도 좀 했지만) 3시간 정도 걸린 것 같고... 18% 쯤에서 틀렸습니다가 떠서 다시 고치는 데 3시간은 걸린 것 같다 ㅋ 시간을..

[취준 일기] 신한캐피탈 인적성, 신한카드 AI역량검사(신역검) 후기

월요일에는 신한캐피탈 인적성 시험이 있었다. 오랜만의 오프라인 시험! 오프라인인건 싫지 않은데 장소가 (우리집에서) 좀 멀고... 거길 또 오전 9시까지 가야했다는 거 ㅎㅎ 집구석에서 느긋하게 일어나 오전 10, 11시에 코딩 테스트 보다가 7시에 일어나서 씻고 가려니 매우 피곤했다. 그리고 전날 코딩 테스트 숙제 문제 풀고 인적성 문제 GSAT로 간단하게 풀어봤더니 거의 3시쯤 누웠는데 잠 안 와서 결국 4시에 잠 든 데다가 아침부터 비가 주룩주룩이고... 쌀쌀해서 콧물 나옴의 콜라보로 컨디션이 안좋았다! 장소는 DDP 역의 한양공고 참고로 5호선도 갈 수 있지만 1번 출구가 진짜 거어어업나 멀어서 을지로 4가에서 2호선으로 갈아탔다. 시험은 다음과 같이 진행됐다. 1교시 ) 언어 추리 - 25문제 3..

자유/주절주절 2022.10.05

[골드 V] 15686번. 치킨 배달

문제 https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 사용 언어 Python3 풀이 과정 일단 이 문제도 그래프 탐색으로 착각하기 좋은 문제였다. 라인에서도 그런 문제가 있었는데... 이중 리스트를 사용하면 무조건 그래프 탐색이라는 편견(?)이 생겨버린 모양이다. 탈출하자 문제를 다시 천천히 읽으면서 어떻게 풀지 생각해보니 그냥.. 단순 조합을 이용한 완전 탐색도 가능해보여서 그대로 풀어봤고, 중간에 좀 헷갈린 부분은 자꾸..

[실버 III] 9342번. 염색체

문제 https://www.acmicpc.net/problem/9342 9342번: 염색체 상근이는 생명과학 연구소에서 염색체가 특정한 패턴인지를 확인하는 일을 하고 있다. 염색체는 알파벳 대문자 (A, B, C, ..., Z)로만 이루어진 문자열이다. 상근이는 각 염색체가 다음과 같은 규칙 www.acmicpc.net 사용 언어 Python3 풀이 과정 요즘 코딩 테스트를 많이 보다 보니 내가 부족한 부분을 알았는데 그건 바로 정규표현식...! 파이썬으로 문자열 파싱은 이제 익숙하지만 복잡한 문자열 규칙에 해당하는지 확인하려면 if문을 쪼개고 쪼개는 것보단 정규표현식이 훨씬 간단하고 구현하기도 쉽다. 사실 보안을 공부하면서 Snort 룰 때 처음 정규표현식을 접했는데 그 때문에 정규표현식을 괜히 복잡한..

[취준 일기] 11번가, 백엔드 데브 매칭 코딩 테스트 후기

지난주에 이어 이번주 토요일에도 두 개의 코딩 테스트를 응시했다. 주인공들은 또다시 백엔드 인턴으로 돌아온 11번가와 프로그래머스의 하반기 데브 매칭! 잊어버리기 전에 회고를 작성한다. 11번가 코테는 본 지 얼마 안돼서 아는데 Codility라는 사이트를 사용한다. 그런데 놀랍게도(?) 한 번 써봤다고 이번엔 불편한 점이 딱히 없었다. 그 땐 되게 불편해서 이게 뭐야!! 했는데... 그리고 문제 복사가 안돼서 문제 출제 설명을 한 번 파파고로 돌려보고 싶었는데, 그러기 위해서는 영어를 작성하고 있어야 한다는 게 킹받는다. 그래서 그냥 내가 해석해 버리고 진짜 헷갈리는 부분만 번역해 들어보는 방식으로 진행했다. 시험 형태는 다음과 같았다. 3문제 / 120분이었는데 2문제는 Java와 Javascript..

자유/주절주절 2022.10.02

[섹션 2] 스프링 핵심 원리 이해1 - 예제 만들기 (주문과 할인 도메인 개발과 테스트 코드 작성)

* Inflearn에서 "스프링 핵심 원리 - 기본편" by 김영한 강의를 수강하며 작성한 글입니다. 주문과 할인 도메인 개발 패키지 생성, 인터페이스 생성 여기서 좋은 단축키 F2, 아무곳에서나 누르면 오류가 난 Member로 바로 이동한다. 이동해서 alt + enter로 Member를 import 해주면 해결된다. 그런데 여기서 문제가 나는 hello.core 아래에 작성한 member 패키지를 IntelliJ가 alt + enter로 찾지 못했다. 그래서 수동으로 입력해줬는데 설정을 해줘야 하는게 있는지... 찾아봐야겠다. 또 IntelliJ의 경우 주석을 입력하기 위해 /**를 치고 enter하면 자동으로 params와 return 주석이 생성된다. 정액 할인 정책을 위한 클래스를 생성한다. 주..

공부/Spring 2022.10.01