새로운 블로그로 이전 작업을 진행하고 있어 포스트가 새로 작성되고 있지 않습니다.

빠른 시일 내에 새로운 블로그로 인사드리겠습니다.

새로운 블로그 : https://unho.vercel.app/

본문 바로가기

전체 보기232

[HackerRank] The PADS 📖 문제 🧑🏻‍💻 풀이 과정 1) 문제 이해 및 접근 결과가 특정 문자들과 함께 출력이 되어야 하므로 CONCAT 을 사용 서로 다른 결과를 출력하는 서브 쿼리를 합쳐야 하기에 UNION 하여 두개의 테이블을 합치는 방식으로 접근 초기에 각 서브쿼리의 결과를 정렬을 한 후 UNION 을 시도하였으나 UNION 을 실행하면 정렬된 결과들이 정렬되지 않은 상태로 테이블이 합쳐져서 결과로 나타나게 됨 문제를 해결하려 여러 방법을 시도하였으나, 세심한 정렬이 어려움 SQL 쿼리문을 두개를 만들어 각자 출력하는 방식으로 접근 2) 풀이 코드 사용 언어 - MySQL SELECT CONCAT(name, "(", SUBSTR(occupation, 1, 1), ")") -- CONCAT 함수를 이용해 특정 문자와 결과.. 2022. 1. 2.
[백준] 9663 N-Queen 📖 문제 🧑🏻‍💻 풀이 과정 1) 문제 이해 및 접근 전형적인 N-Queen 문제로 완전 탐색, 백트래킹 사용 2) 알고리즘 완전 탐색 백트래킹 3) 풀이 코드 사용 언어 - Python import sys def chk(y, x): for i in range(1, y+1): if x - i >= 0 and cols_selected[x] - i == cols_selected[x-i]: # 현재 열의 행과 옆에 떨어진 열의 행이 같을때 return False # 위로 올라갈수록 대각선에 퀸이 있을때 elif x + i < N and cols_selected[x] - i == cols_selected[x+i]: return False return True def solution(n): global answe.. 2022. 1. 2.
[TypeScript] 기초 학습 (1) 개인 학습 과정에서 작성한 markdown 문서로 잘못된 내용이 존재할 수 있습니다. 잘못된 내용 또는 개선 방안을 말씀해주시면 수정하겠습니다. 📝 TypeScript 기초 학습 (1) TypeScript 학습을 위해 공식문서를 참고하여 읽고 정리한 내용입니다. 1. 배경 타입스크립트(TypeScript) 는 자바스크립트(JavaScript) 를 기반으로 한 확장된 언어로 타입스크립트에서는 자바스크립트의 모든 문법을 사용할 수 있다. 자바스크립트에서는 string, number, object 등 데이터 타입이 있지만, 변수에 직접 지정해주지 않고, 값을 넣을때마다 데이터 타입을 모두 담을 수 있다. 이런 특징은 변수 타입을 지정하지 않아도 되고 모든 타입의 값을 할당할 수 있어 좋을 수 있지만, 프로그래.. 2022. 1. 1.
[프로그래머스] 이름에 el이 들어가는 동물 찾기 📖 문제 🧑🏻‍💻 풀이 과정 1) 문제 이해 및 접근 동물의 이름 일부에 el 이 들어가는 경우를 찾아야하므로 LIKE 사용하고, 앞 뒤로 % 사용 2) 풀이 코드 사용 언어 - MySQL SELECT animal_id, name -- 출력 열 FROM animal_ins WHERE animal_type = 'dog' AND name LIKE '%el%' -- 동물의 종류가 개이고, 이름에 el이 들어가는 경우 ORDER BY name; -- 정렬 📝 결과 및 학습한 내용 1) 어려웠던 내용 특별히 없습니다. 2) 새롭게 학습한 내용 특별히 없습니다. 🔗 문제 링크 - https://programmers.co.kr/learn/courses/30/lessons/59047 코딩테스트 연습 - 이름에 el이 .. 2022. 1. 1.
[백준] 1759 암호 만들기 📖 문제 🧑🏻‍💻 풀이 과정 1) 문제 이해 및 접근 암호가 알파벳 증가하는 순서로 배열되었다고 하므로, 초기에 알파벳들을 사전순으로 사전 정렬 문제의 해당 조건에 충족하는 모든 문자를 찾아야하므로 완전 탐색으로 접근 2) 알고리즘 완전 탐색 (Brute force) 3) 풀이 코드 사용 언어 - Python import sys sys.stdin = open('input.txt') def solution(n, idx, ans): # 현재 알파벳 선택한 개수, 시작할 인덱스 번호, 지금까지 만든 단어 global vowel_cnt, consonant_cnt if n >= L: # 원하는 길이 만들어졌으면 확인 if vowel_cnt and consonant_cnt >= 2: # 모음이 1개 이상, 자음이 .. 2022. 1. 1.
[프로그래머스] DATETIME에서 DATE로 형 변환 📖 문제 🧑🏻‍💻 풀이 과정 1) 문제 이해 및 접근 문제의 조건이 주어진대로 출력 2) 풀이 코드 사용 언어 - MySQL SELECT animal_id, name, DATE_FORMAT(datetime, '%Y-%m-%d') -- 데이터 타입 형 변환을 위해서 DATE_FORMAT 함수 사용 FROM animal_ins ORDER BY animal_id; -- 정렬 📝 결과 및 학습한 내용 1) 어려웠던 내용 날짜와 시간이 함께있는 데이터 타입에서 날짜만 뽑아서 출력하는 방식을 몰랐음 (1) 참고 사이트 블로그 DATE_FORMAT 함수를 사용하여 데이터 타입 데이터에서 원하는 데이터를 뽑을 수 있다는것을 배움 2) 새롭게 학습한 내용 DATE_TIME(날짜, 원하는 형식) : 날짜 데이터를 원하는 .. 2021. 12. 31.
[백준] 10819 차이를 최대로 📖 문제 🧑🏻‍💻 풀이 과정 1) 문제 이해 및 접근 숫자들을 정렬하여 큰수와 작은수를 적절히 이용하여 계산하는 방식으로 접근 문제가 해결되지 않는것을 알아내서 완전 탐색 이용 2) 알고리즘 브루트포스 3) 풀이 코드 사용 언어 - Python import sys sys.stdin = open('input.txt') def DFS(n, pre, ans): # 숫자를 선택한 횟수, 이전에 선택한 값, 지금까지 계산한 결과 값 global answer if n >= N-1 and answer 2021. 12. 31.
[React] React Router v6 기초 학습 개인 학습 과정에서 작성한 markdown 문서로 잘못된 내용이 존재할 수 있습니다 잘못된 내용 또는 개선 방안을 말씀해주시면 수정하겠습니다 📝 React-Router (v6) React Router(v6) 공식문서의 Overview와 API Reference 페이지를 읽고 정리한 내용입니다. 1. v5 에서 v6 업그레이드 되면서 달라진 내용 지금의 문서는 v6 의 내용을 정리하기 위해 작성중이므로 v5 와 관련된 내용을 자세히 다루지 않겠지만, 공부중 발견한 가 초기의 나에게 혼동을 주어 여기서도 아주 간략히만 다뤄볼 계획이다 1) v5 의 react-router-dom 을 기본적으로 공식문서를 참고하여 학습하던 중 이해가 부족한 부분은 다른 개발자들의 코드를 참고하게 되었다 그러던 중 공식문서에서 .. 2021. 12. 30.
[백준] 7662 이중 우선순위 큐 📖 문제 🧑🏻‍💻 풀이 과정 1) 문제 이해 및 접근 값을 추가하고 최솟값과 최댓값을 삭제하는 연산이 존재하여 최소힙을 이용해 데이터를 다루도록 접근 최소힙과 최대힙 2개를 사용하려 했으나 각자의 리스트에서 어떤 값들이 이미 삭제된건지 판별하기 어려울것 같아서 최소힙 하나로 진행 최소힙에서 최댓값 삭제할때는 내장된 max 함수와 리스트의 remove 함수를 이용해 제거하는 방식으로 접근하였으나 시간초과로 실패 최소힙과 최대힙 두개를 사용하는대신 어떤게 삭제 되었는지 판별하는 로직 추가하여 접근 2) 알고리즘 최소힙 3) 풀이 코드 사용 언어 - Python import sys import heapq sys.stdin = open('input.txt') T = int(sys.stdin.readline()).. 2021. 12. 30.
[HackerRank] Top Earners 📖 문제 🧑🏻‍💻 풀이 과정 1) 문제 이해 및 접근 총 수입 계산을 위해 연산 및 별칭 사용 서브쿼리와 Group by 를 이용하여 접근 시도를 하였으나, 어려움을 겪음 총 수입이 많은 순서대로 정렬 및 제한된 개수의 결과만 출력하도록 접근 COUNT(*) 사용시 원치않는 NULL 값이 포함될 수 있어 특정열을 카운트하도록 사용 2) 풀이 코드 사용 언어 - MySQL SELECT (months * salary) AS earnings, COUNT(name) -- 총 수입, 같은 수입을 가진 사람의 수 FROM employee GROUP BY earnings -- 총 수입을 그룹으로 묶음 ORDER BY earnings DESC -- 수입이 많은 순으로 정렬 LIMIT 1; -- 상위 1개만 출력 📝 결.. 2021. 12. 30.
[React] 클래스형과 함수형 컴포넌트 개인 학습 과정에서 작성한 markdown 문서로 잘못된 내용이 존재할 수 있습니다 잘못된 내용 또는 개선 방안을 말씀해주시면 수정하겠습니다. 📝 클래스형과 함수형 컴포넌트 공식문서와 유튜브 영상들을 참고해서 공부하던 중 컴포넌트를 사용하는 방식이 클래스형과 함수형 두가지가 존재하는것을 알게 되었다. 이 두가지 방식을 보고 어떤게 더 좋고 미래에 자주 사용할지 등과 같은 여러 사항들이 궁금해져 조금 더 공부해보려 한다. 두개 중 어느것이 좋고 승자를 가리기보다 두가지를 비교하고 차이점을 알고자한다. 1. 과거와 현재 과거 다수의 사람들은 과거에 함수형 보다는 클래스형 컴포넌트를 주로 사용해왔다. 과거에 클래스형을 많이 사용했던 대표적인 이유로는 state와 컴포넌트 LifeCycle을 사용할 수 있었기 .. 2021. 12. 29.
[HackerRank] The Blunder 📖 문제 🧑🏻‍💻 풀이 과정 1) 문제 이해 및 접근 평균을 구해야 하므로 AVG 활용 0을 없애기 위해 REPLACE 함수 사용 2) 풀이 코드 사용 언어 - MySQL SELECT CEIL(AVG(salary) - AVG(REPLACE(salary, '0' ,''))) -- 올림(0이 있을때 평균 - 0이 없을때 평균) FROM employees 📝 결과 및 학습한 내용 1) 어려웠던 내용 문자에서 특정 문자를 없애는 것에 어려움을 겪음 2) 새롭게 학습한 내용 어떠한 열의 특정 문자열을 대체 하기 위해서는 REPLACE 함수를 사용한다 REPLACE(컬럼명, 기존 문자열, 변경 문자열) 🔗 문제 링크 - https://www.hackerrank.com/challenges/the-blunder/pro.. 2021. 12. 29.