전체 글

안녕하세요, 데이터 분석가를 꿈꾸는 개인기록 블로그입니다:)
· PYTHON
원하는 길이의 문자를 만들어야할 때, 빈 문자열을 만들어 for문 등을 통해 채울 수도 있지만, 파이썬에는 내장함수로 이미 이 기능을 제공해주고 있다. 이때 사용할 수 있는 함수가 바로 zfill, rjust, ljust 이다 zfillzfill 함수는 문자열 형태에서 지정한 길이만큼 0을 앞에서부터 채워주는 함수이다. num = "1234"print(num.zfill(5))# 01234print(num.zfill(7))# 0001234 rjustrjust 함수는 문자열에서 지정한 길이만큼 지정한 문자열을 왼쪽부터 채워주는 함수이다! num = "333"print(num.rjust(5, "a"))# aa333print(num.rjust(8, "7"))# 77777333 ljust반면에 ljust 함수는 ..
문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/17681 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 2017년 카카오 신입 공채 코딩 테스트 1번 문제이다. 비트 연산을 이용하는 문제이다.  정답 풀이def solution(n, arr1, arr2): answer = [] for i in range(n): # 2진수 연산 진행 num = bin(arr1[i] | arr2[i]) # 자리수를 통일해주는 함수(zfill) num = ..
· MYSQL
MySQL에서 숫자를 처리할 수 있는 다양한 함수에 대해서 알아보자. -- ABS : 절댓값 반환SELECT ABS(-3);-- 3 -- CEIL : 올림SELECT CEIL(10);SELECT CEIL(10.1);SELECT CEIL(-10.1);-- 10 / 10.1 / -10 -- FLOOR : 버림SELECT FLOOR(10);SELECT FLOOR(10.9);SELECT FLOOR(-10.9);-- 10 / 10 / -11 -- ROUND(A, B) : A를 소수점 B자리까지 반올림한다SELECT ROUND(23.5);SELECT ROUND(123.453836935476, 2);-- 24 / 123.45SELECT ROUND(12,-1) -- 10SELECT ROUND(24,-1) -- 20S..
문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/131530 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr가격대 별 상품 개수를 구하는 문제이다.  내 풀이SELECT (FLOOR(PRICE / 10000) * 10000) AS PRICE_GROUP , COUNT(*) AS PRODUCTSFROM PRODUCTGROUP BY FLOOR(PRICE / 10000) * 10000ORDER BY FLOOR(PRICE / 10000) * 10000; 어렵지는 않지만, FLOOR 함수를 모르..
문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/172928 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이 문제는 주어진 캐릭터가 명령에 따라 이동하는 시뮬레이션 문제이다. 처음 풀이 (오답)처음에 푼 풀이는 아래와 같다. def solution(park, routes): answer = [] # 동, 서, 남, 북 방향을 표시함 dx = [0, 0, 1, -1] dy = [1, -1, 0, 0] types = ["E", "W", "S", "N"] # ..
2024.08.05 - [코딩테스트/AL] - [이것이 코딩테스트다] 그래프 탐색 알고리즘 : DFS & BFS [이것이 코딩테스트다] 그래프 탐색 알고리즘 : DFS & BFS대표적인 그래프 탐색 알고리즘에는 DFS와 BFS가 있습니다. 여기서 탐색이란 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 말하며, DFS와 BFS는 코딩 테스트에서 매우 자주 등장하는 유yeonnys.tistory.com 저번 글에 이어 이번에는 DFS와 BFS 알고리즘을 활용한 예제 문제를 설명해보겠습니다! 문제) 음료수 얼려 먹기문제Q. N × M 크기의 얼음 틀이 있습니다. 구멍이 뚫려 있는 부분은 0, 칸막이가 존재하는 부분은 1로 표시됩니다. 구멍이 뚫려 있는 부분끼리 상, 하, 좌, 우로 붙어 있는 경우 서로..
문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/59413 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 단순히 GROUP BY를 해서는 풀지 못하는 문제이다. GROUP BY를 하면 일부의 시간만 출력되고 모든 시간이 출력되지는 않기 때문이다. 즉, 문제에서는 0시부터 23시까지 값이 없는 데이터도 출력하라 하였는데, 데이터가 없는 시간이 존재한다! 파이썬으로 하면 쉽게 할 수 있을 것 같은데, 좀 어려웠다ㅠㅠ그래서 다른 사람의 풀이를 보고 풀어보았다.  풀이-- RECURSIVE CTEWIT..
· MYSQL
코딩테스트 문제를 연습하다가 기존 테이블을 활용하지 않는 새로운 테이블을 만들어야하는 문제에 닥쳤다. 이를 해결하기 위해 찾아보다가 Recursive CTE라는 새로운 문법을 알게 되었다. https://school.programmers.co.kr/learn/courses/30/lessons/59413 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  Recursive CTERecursive CTE는 재귀 CTE로, 서브쿼리에서 스스로를 참조하는 CTE이다. 이는 시리즈 생성 혹은 계층적, 트리 구조의 데이터 순회에 특히 유용하다.  기본적인 Recursive..
문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/12930 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문자열을 조건에 따라 처리하는 문제이다.  첫 풀이 (오답)어렵지는 않은 문제였지만, 처음에 오답이 났다ㅠdef solution(s): answer = '' # 공백을 기준으로 문자를 나눠 리스트에 저장 words = s.split(' ') for word in words: for w in range(len(word)): # 홀수번쨰 알파벳..
문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/131532 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 내 풀이SELECT YEAR(s.SALES_DATE) AS YEAR , MONTH(s.SALES_DATE) AS MONTH , i.GENDER AS GENDER , COUNT(DISTINCT s.USER_ID) AS USERSFROM ONLINE_SALE s INNER JOIN USER_INFO iON s.USER_ID = i.USER_IDGROUP B..
_알파카
yeonnys' 개발일지