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

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

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

본문 바로가기

전체 보기232

[부스트캠프 웹・모바일 7기] 부스트 컨퍼런스 참여 이곳저곳에서 컨퍼런스들이 다양하게 참 많은 것 같습니다. 카카오의 if kakao, 배달의민족의 우아콘, 토스의 SLASH, 인프런의 인프콘, FEConf 등.. 앞의 컨퍼런스의 영상들을 한 번씩 본 경험이 있지만, 오프라인으로 참여한 경험은 아직 없었습니다. 그러던 중 현재 참여하고있는 부스트캠프에서 캠퍼들과 함께 컨퍼런스를 진행한다는 소식을 접하게 되었습니다. 그것도 오프라인에서!!!🤩 이렇게 저의 첫 오프라인 컨퍼런스 참여는 부스트 컨퍼런스가 되었습니다. 컨퍼런스에 참여해서 다른 캠퍼들을 실제로 만나거나 흥미있는 주제를 듣는 것도 좋았지만, 무엇보다 네이버1784 에서 진행한다는 점이 가장 관심있었습니다. 네이버1784 에 일찍 도착해서 많은 사진을 찍어야 했는데, 점심 약속이 있어서 많은 구경하지.. 2022. 10. 26.
효율적인 페어 프로그래밍 (with. 부스트캠프) 과거의 저는 혼자 문제를 고민하고 프로그래밍을 진행하는 것에 많이 익숙하였습니다. 그러던 중 SSAFY 6기 교육에서 처음 페어 프로그래밍을 접하게 되었는데, 내가 아닌 누군가와 함께 프로그래밍을 한다는 것에 매우 낯설었습니다. 처음 접했을 때 "두 명의 개발자가 하나를 진행하니까 당연히 비효율적이지 않을까??" 라는 생각이 강했습니다. 그렇지만 실제로 페어 프로그래밍으로 진행하는 경우도 있고, 추천하는 이유가 있지 않을까? 싶은 생각에 직접 경험해보고 결정하자는 생각을 갖게 되었습니다. 이번 포스트는 페어 프로그래밍에 대한 경험과 생각의 변화에 대해 다루어보겠습니다. 제가 겪은 경험으로 더 효율적인 방법에는 무엇이 있을지, 성장하기 위해 무엇에 집중할지 생각해보는 시간을 가져보겠습니다. 첫 페어 프로그.. 2022. 10. 19.
webpack, babel 절대 경로 사용하기 이전 포스트에서 webpack 과 babel 의 기본 개념과 함께 사용하기 위한 기본 설정 방법을 알아보았습니다. 이번에는 webpack 과 babel 을 이용하여 절대 경로를 설정하여 import 시 경로 설정 하는 방법에 대해 알아보겠습니다. 절대 경로 설정 개발을 진행하다보면 다른 파일을 불러오는 경우가 많이 발생합니다. 파일을 불러오기 위해 상대 경로로 해당 파일의 위치를 찾아가는 경우가 많습니다. 상대 경로를 이용하면 아래와 같은 경우가 많이 발생할 수 있습니다. import { util } from '../../../modules/util.js'; 위의 경우 해당 파일을 찾기에도 불편함이 있고, 불러오는 파일이 많은 경우 가독성도 떨어지게 됩니다. 그래서 특정 경로를 절대 경로로 지정하여 가독.. 2022. 9. 17.
Webpack, Babel 의 이해와 기본 설정 JavaScript 를 이용하여 개발하다보면 webpack 과 babel 에 대해 자주 접할 수 있습니다. webpack 과 babel 에 대해 이해하고 함께 사용하기 위해 설정하는 방법에 대해 알아보도록 하겠습니다. 추가적으로 다음 포스트에서 아래의 내용을 다루겠습니다. 절대 경로 설정 추가 (Path Alias) JavaScript, Json 파일 외의 파일 번들링 (CSS, SASS, PNG 등) Webpack 이란? Webpack 공식 문서에는 아래와 같이 소개하고 있습니다. webpack 의 공식 홈페이지는 한글 번역도 지원이 되어 읽기 수월합니다. 이후 추가적인 필요사항은 해당 페이지에서 직접 쉽게 찾아볼 수 있습니다. webpack is a static module bundler for mo.. 2022. 9. 16.
[부스트캠프 웹・모바일 7기] 챌린지 회고 부스트캠프 웹・모바일 7기 지원 1년간의 삼성 청년 소프트웨어 아카데미 (SSAFY) 6기 과정 수료를 앞두고 주변 지인들이 하나 둘 취업에 성공하여 떠나는 모습을 바라보니 머릿속이 참 복잡했습니다. 지금 내 실력으로 취업하면 과연 도움이 될까?, 나만 왜 취업을 못하고 있지?, 수료하면 개인 프로젝트를 해야 하나? 등 머릿속이 복잡해지며 자존감도 조금씩 낮아지고 있었습니다. 그러던 중 부스트캠프 웹・모바일 7기 모집 소식을 접하게 되었습니다. 지인들을 통해 부스트캠프 과정이 개발자로 성장하기 정말 좋은 프로그램이라는 이야기를 많이 들었습니다. 그래서 당장 취업을 하기보다 더 다양한 사람들을 만나보고 스스로 성장하는 방식을 배우기 위해 지원하게 되었습니다. 1차, 2차 코딩테스트 후기 프로그래머스를 통해.. 2022. 9. 7.
[백준] 10775 공항 📖 문제 🧑🏻‍💻 풀이 과정 1) 문제 접근 및 이해 1번부터 g번째 게이트 중 하나에 도킹할 수 있으므로, g게이트부터 1번까지 도킹이 가능하다면 바로 도킹을 시도해야합니다. 만약 g 게이트가 이미 도킹하여 사용중이라면 g 보다 작은 수 중 도킹이 가능한 가장 큰 수를 찾아야합니다. 해당 수를 찾기위해 게이트가 도킹이 되면, 다음으로 도킹이 가능한 게이트 번호를 가리키도록 하였습니다. 2) 알고리즘 그리디 3) 풀이 코드 사용 언어 - Python import sys sys.setrecursionlimit(100000000) sys.stdin = open('input.txt') def union(a: int) -> int: ''' 게이트에 비행기 도킹 params: a: 도킹 시도하려는 게이트 번호 r.. 2022. 8. 26.
[백준] 17837 새로운 게임 2 📖 문제 🧑🏻‍💻 풀이 과정 1) 문제 접근 및 이해 구현 문제로 조건에 따라 특정 행위를 잘 고려할 필요가 있었습니다. 좌표별로 말이 어느 순서로 쌓여있는지 확인을 위해 3차원 배열을 이용하였습니다. 그리고 각 말별로 어느 좌표, 어느 진행 방향을 갖고 있는지 확인을 위해 딕셔너리를 이용하였습니다. 말이 새로운 좌표로 이동을 위해 해당 말과 위에 있는 모든 말을 리스트 형태로 반환하는 함수를 생성하였습니다. 그리고 다음 좌표의 색상에 따라 추가적인 내용이 다르므로 각각의 함수를 생성하였습니다. 이동이 이루어지면, 이동된 모든 말들의 좌표 및 진행 방향을 갱신해주었습니다. 2) 알고리즘 구현 3) 풀이 코드 사용 언어 - Python import sys sys.stdin = open('input.txt'.. 2022. 8. 25.
[백준] 1525 퍼즐 📖 문제 🧑🏻‍💻 풀이 과정 1) 문제 접근 및 이해 비어있는 칸의 이동을 위해 DFS 탐색을 시도하였으나, 최소 이동 가능한 횟수를 우선적으로 구하는 것이 아니라 이동이 가능한 모든 경우를 탐색하게 됩니다. 모든 경우를 탐색하므로 시간 초과 문제가 발생할 수 있었습니다. 이로 인해 BFS 탐색을 이용하였습니다. 보드판의 특정 상황을 탐색한적이 있는지 확인이 필요했습니다. 특정 좌표의 원시값을 방문 여부로 처리 하는 것이 아니라 2차원 배열의 전체 상황을 기록이 필요하였습니다. 특정 상황의 탐색 여부를 확인하기 위해 2차원 배열을 저장할 수 없으므로, 2차원 배열의 상황을 풀어서 하나의 문자열로 나타냈습니다. 문자열을 이용하여 방문 여부를 확인하였습니다. 2) 알고리즘 BFS 문자열 3) 풀이 코드 사용.. 2022. 8. 24.
[백준] 1011 Fly me to the Alpha Centauri 📖 문제 🧑🏻‍💻 풀이 과정 1) 문제 접근 및 이해 문제의 조건에 맞게 각 거리별 이동에 필요한 최소 작동 횟수를 구하였습니다. 작동 횟수 이동 가능한 거리 1 1 2 2 3 3, 4 4 5, 6 5 7, 8, 9 6 10, 11, 12 위의 표와 같이 작동 횟수가 홀수가 될때마다 이동 가능한 거리의 개수가 1씩 증가하는 규칙이 발견되었습니다. 이에 따라 작동 횟수, 이동 가능한 거리의 개수, 마지막 이동 가능한 거리를 변수로 관리하여 탐색하였습니다. 2) 알고리즘 수학 3) 풀이 코드 사용 언어 - Python import sys sys.stdin = open('input.txt') T = int(sys.stdin.readline()) for _ in range(T): # 입력 x, y = map(i.. 2022. 8. 21.
[백준] 2437 저울 📖 문제 🧑🏻‍💻 풀이 과정 1) 문제 접근 및 이해 처음에 비트마스킹을 이용하여 각 자릿수의 비트가 무게 하나로 생각하여 불가능한 무게를 구하는 방식을 이용하였습니다. 불가능한 무게를 구하기 위해서는 1비트씩 오른쪽으로 시프트 과정을 거치며 AND 연산을 통해 1의 여부 판별을 진행하였습니다. 그러나 입력에 따라 불가능한 무게를 탐색하는 과정이 매우 많이 필요하였고 그로 인해 시간 초과가 발생하였습니다. 추를 가장 가벼운 것부터 정렬하였고, 불가능한 최소 무게보다 작거나 같은 추가 있다면, 해당 무게는 측정이 가능하므로 다음 불가능한 무게로 갱신하였습니다. 그리고 불가능한 무게보다 큰 무게의 추가 나온다면 해당 무게는 측정이 불가능하므로 탐색을 종료하였습니다. 2) 알고리즘 정렬 그리디 3) 풀이 코드.. 2022. 8. 19.
[백준] 4195 친구 네트워크 📖 문제 🧑🏻‍💻 풀이 과정 1) 문제 접근 및 이해 친구 관계가 주어지면 두 이름은 하나의 친구가 되어 같은 그룹에 속하게 됩니다. 친구 관계가 주어질때 마다 해당 그룹에 속한 인원 수를 출력해야 했습니다. 그룹을 계속해서 생성하거나 하나로 합치는 과정이 필요했습니다. 이 부분을 서로소집합과 연관지어 접근하였습니다. 기존의 간단한 서로소 집합은 1차원 배열을 이용하여 그룹들을 합치는 과정을 통해 특정 수들이 서로 같은 그룹에 속했는지 여부를 판별할 수 있습니다. 이를 참고하여 이름별 속한 그룹의 번호를 명시하는 딕셔너리 변수와 그룹별 속한 이름의 명단을 기록하는 1차원 배열을 이용하였습니다. 친구 관계가 주어질때 마다 주어진 이름이 현재 그룹에 속해있는지 여부와 그룹의 조건들을 비교하여 그룹을 변경하는.. 2022. 8. 18.
[백준] 1944 복제 로봇 📖 문제 🧑🏻‍💻 풀이 과정 1) 문제 접근 및 이해 열쇠의 위치에서 로봇이 분열하여 새로운 로봇으로 이동이 가능합니다. 그로 인해 로봇의 위치와 열쇠의 모든 위치들의 상호 거리를 구한 후 해당 위치를 노드로 하는 최소 신장 트리를 구해야했습니다. BFS 를 이용하여 특정 위치(로봇 시작 위치, 열쇠의 위치)를 시작으로 하여 다른 지점까지의 거리를 모두 구했습니다. 거리의 정보는 딕셔너리 형태로 관리하였으며, 키는 특정 위치의 좌표를 값은 거리와 다른 노드의 좌표를 기록하였습니다. 2) 알고리즘 BFS MST (최소신장트리) 3) 풀이 코드 사용 언어 - Python import sys import heapq from collections import deque sys.stdin = open('input.. 2022. 8. 17.