컴퓨터

    EsLint 와 Prettier 를 함께 사용해서 코드 컨벤션 맞추기

    개인 프로젝트를 진행할때는 상관없지만 다른 사람과 팀 프로젝트를 진행하게 되면 늘 걱정인게 하나 있습니다 코드 컨벤션! 아무리 머리 속에 코드 컨벤션을 지켜야 한다고 생각하고 있어도 개인의 버릇이나 코딩 스타일에 따라서 코드가 뒤죽박죽 되기 마련입니다. 첫 팀 프로젝트를 진행하면서 프론트엔드 팀원들과 최대한 동일한 스타일로 코드를 작성하기 위해 노력했던 내용을 공유하고자 합니다. EsLint(이하 린트) 와 Prettier(이하 프리티어) 는 무엇일까요?? 간단하게 이해하자면 린트는 규칙에 맞지 않는 코드가 발견되면 경고해 주는 도구 입니다, 그렇다면 프리티어 는 무엇일까요?? 한 마디로 코드를 아름답게 만들어주는 확장 프로그램 이라고 생각하시면 됩니다. 그럼 왜 두 가지를 한번에 사용하고 함께 사용할까..

    Intersection 옵저버를 사용하여 리액트 에서 무한 스크롤 구현하기

    무한 스크롤 구현하기 무한 스크롤(Infinite scroll)은 무엇인가요? 🤔 사용자가 글 목록을 클릭하지 않고 자동으로 다음 페이지로 넘어가는 것 페이지 네이션과 무엇이 다른가요? 페이지 네이션 장점 사용자에게 많은 정보를 제공할 수 있다 몇 페이지가 남아있는지 확인할 수 있고 페이지를 건너뛸 수 있다 단점 추가적인 데이터를 보기 위해 사용자의 개입이 필요하다 코어 사용자가 아닌 단순 흥미위주의 사용자에게는 피로감이 될 수 있다. 무한 스크롤 장점 자연스럽다. 상 하 스크롤링 만으로 다음 페이지로 넘어갈 수 있다 모바일 환경에서 사용하기 적합하다 단점 원하는 데이터의 위치를 기억하기 어렵다 무한 스크롤은 왜 사용하나요? 모바일 환경에서 적합합니다. 계속해서 내리면서 정보를 볼 수 있는 뉴스 같은 서..

    백준 26215 눈 치우기 (파이썬)

    대회 당시에 풀고싶었는데 정렬을 해야할거 같기는 한데 매번 정렬하면 시간초과가 나오지 않을까? 하는 생각으로 풀다 말았었는데 야매로 풀었다. 1440 을 넘어가면 -1을 출력하게 해줬다 지금 생각해보면 처음 입력받은 li 를 내림차순으로 정렬해준 뒤 확인했어야 하지 않나 싶은데 어찌됐든 통과는 했다 정렬은 sort 가 아니라 우선순위 큐를 사용했다 작은 숫자부터 먼저 빠져나오기 때문에 억지로 음수로 전환하는 작업을 해줬다. arr 에 요소가 하나 이상 있다면 두 집에서 눈을 치우는게 이득 하나밖에 없다면 그 집에서밖에 눈을 치울 수 없기 때문에 조건문으로 인덱스 에러가 나지않게 처리해 주었다 from heapq import heappop, heappush n = int(input()) li = list(..

    백준 2636 치즈 (파이썬)

    문제 아래 과 같이 정사각형 칸들로 이루어진 사각형 모양의 판이 있고, 그 위에 얇은 치즈(회색으로 표시된 부분)가 놓여 있다. 판의 가장자리(에서 네모 칸에 X친 부분)에는 치즈가 놓여 있지 않으며 치즈에는 하나 이상의 구멍이 있을 수 있다. 이 치즈를 공기 중에 놓으면 녹게 되는데 공기와 접촉된 칸은 한 시간이 지나면 녹아 없어진다. 치즈의 구멍 속에는 공기가 없지만 구멍을 둘러싼 치즈가 녹아서 구멍이 열리면 구멍 속으로 공기가 들어가게 된다. 의 경우, 치즈의 구멍을 둘러싼 치즈는 녹지 않고 ‘c’로 표시된 부분만 한 시간 후에 녹아 없어져서 와 같이 된다. 원래 치즈 모양 다시 한 시간 후에는 에서 ‘c’로 표시된 부분이 녹아 없어져서 과 같이 된다. 한 시간 후의 치즈 모양 두 시간 후의 치즈 ..

    백준 1197 최소 스패닝 트리 (파이썬)

    https://www.acmicpc.net/problem/1197 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net 풀이 방법 BFS 와 유사하다고 생각 하지만 간선은 양방향 그래프, heapq 를 사용 => from heapq import heappop, heappush heapq 의 특성을 이용하기 위해서 간선을 먼저 입력 heappush(원소를 넣으려는 힙이름, (넣고자 하는 원소) heappop(원소를 빼려는 힙 이름) 방문 했는지 방문하지 않았는지 확인 B..

    백준 5014 스타트 링크 (파이썬)

    문제 정보 문제 강호는 코딩 교육을 하는 스타트업 스타트링크에 지원했다. 오늘은 강호의 면접날이다. 하지만, 늦잠을 잔 강호는 스타트링크가 있는 건물에 늦게 도착하고 말았다. 스타트링크는 총 F층으로 이루어진 고층 건물에 사무실이 있고, 스타트링크가 있는 곳의 위치는 G층이다. 강호가 지금 있는 곳은 S층이고, 이제 엘리베이터를 타고 G층으로 이동하려고 한다. 보통 엘리베이터에는 어떤 층으로 이동할 수 있는 버튼이 있지만, 강호가 탄 엘리베이터는 버튼이 2개밖에 없다. U버튼은 위로 U층을 가는 버튼, D버튼은 아래로 D층을 가는 버튼이다. (만약, U층 위, 또는 D층 아래에 해당하는 층이 없을 때는, 엘리베이터는 움직이지 않는다) 강호가 G층에 도착하려면, 버튼을 적어도 몇 번 눌러야 하는지 구하는 ..

    백준 8979 올림픽 (파이썬)

    문제 정보 https://www.acmicpc.net/problem/8979 8979번: 올림픽 입력의 첫 줄은 국가의 수 N(1 ≤ N ≤ 1,000)과 등수를 알고 싶은 국가 K(1 ≤ K ≤ N)가 빈칸을 사이에 두고 주어진다. 각 국가는 1부터 N 사이의 정수로 표현된다. 이후 N개의 각 줄에는 차례대로 각 www.acmicpc.net 문제 올림픽은 참가에 의의가 있기에 공식적으로는 국가간 순위를 정하지 않는다. 그러나, 많은 사람들이 자신의 국가가 얼마나 잘 하는지에 관심이 많기 때문에 비공식적으로는 국가간 순위를 정하고 있다. 두 나라가 각각 얻은 금, 은, 동메달 수가 주어지면, 보통 다음 규칙을 따라 어느 나라가 더 잘했는지 결정한다. 금메달 수가 더 많은 나라 금메달 수가 같으면, 은메달..

    백준 10971 외판원 순회 2 (파이썬) (조합 생성방법)

    문제 정보 https://www.acmicpc.net/problem/10971 10971번: 외판원 순회 2 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 10) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net 문제 외판원 순회 문제는 영어로 Traveling Salesman problem (TSP) 라고 불리는 문제로 computer science 분야에서 가장 중요하게 취급되는 문제 중 하나이다. 여러 가지 변종 문제가 있으나, 여기서는 가장 일반적인 형태의 문제를 살펴보자. 1번부터 N번까지 번호가 매겨져 있는 도시들이 있고, 도시들 사이에는 ..