Best Reading 💖
-
[JS] 소수를 정수를 만드는 여러 방법 - floor, ceil, round, trunc, parseInt
참고 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 다른 언어 공부하다 다른 언어로 풀려고 하면 기본적인 게 생각이 안 날 때도 있다.. 문법도 금방 알아차려도 순간 헷갈리고.. 다른 사람도 그런지 모르겠다. 간단한 것도 정리를 잘 해놓자! (파이썬 풀다 자바스크립트로 오면 ;, { } 등 붙여주기 귀찮아진다.) ✏️ JavaScript에서 정수를 만드는 여러 방법 1. Math.floor() - 소수점 내림 Math.floor(x), x보다 작거나 같은 가장 큰 정수를 반환한다. (양수에서 항상 뒤 소수점을 모두 버린다) console.log(Ma..
2023.07.11
-
정보처리산업기사 필기 합격 후기.. 정처기와 헷갈리지 마세요
자격증을 따게 된 계기 여기저기 공고를 지원해 보려 다른 분들의 합격 후기를 읽어볼 때 이력서에 자격증 항목이 눈에 띄었다. 개발 공부를 하시는 분들이 공부하며 딴 SQLD, ADsP, 정처기, 리눅스 마스터 등 다양한 자격증을 보고 자격증의 존재를 알게 되었고 나도 이왕 공부하는 것 CS 관련 학위가 없기 때문에 자격증을 따는 것도 좋겠다 싶어 근래의 시험이 있는 정처기와 SQLD를 일단 준비하게 되었다. 자격증 후기 개발을 하는데 자격증은 필요없다고 하지만 실제로 준비해 보니 나에게는 도움이 되었다. CS지식이 중요하다해서 CS 공부를 이미 어느 정도 한 상태에서 정처기 시험이 한 달쯤 남았을 때 사놓은 책을 펴보니 이미 공부했던 내용이라 복습하고 거기서 더 확장되어 연결된 내용들이을 공부할 수 있어..
2023.03.05
-
내돈내산 패스트캠퍼스 이용 후기.. (feat: 사용자 경험)
하고 싶은 말은 참 많은데 패스트캠퍼스는 수강 후기를 남기는 곳도 없다.. 부정적인 얘기는 쓰고 싶지 않았지만 불만이 있고, 나 같은 개발 공부하는 분들, 여러 가지 공부하시는 분들에게 도움이 되었으면 한다. 나는 현재 개발 공부를 몇 달간 해오고 있고 현재 온라인의 다양한 플랫폼들로 여러 강의를 수강해 왔다. 부스트코스, 유데미, 노마드 코더, 프로그래머스, 유튜브, 패스트캠퍼스 등 그중 패스트캠퍼스는 강의가 안 좋다는 게 아니라 참 수강하기가 너무 불편하다. 내가 직접 느낀 그 이유를 적어보겠다. 1. 실제 모든 수강생들의 후기를 볼 수 없고 미리보기도 없어(유튜브에 조금 있음) 강의를 직접 결제하기 전까지 홈페이지에서 직접 강의를 경험해볼 수 없다. 일단 관심 가는 강의가 생겨 결제하기 전 후기를 ..
2022.12.20
-
PEP 8 - Style Guide for Python Code 정리 / Python Code 일관성, 가독성 높이며 작성하기
💡 이 글은 PEP 8 – Python 코드용 스타일 가이드(https://peps.python.org/pep-0008/)를 보고 새롭게 안 사실을 공부하며 정리한 내용입니다. 영어를 한국어 번역을 사용해 문맥이 이상한 부분이 있을 수 있습니다. 참고만 하시고 실제로 원문을 참고하시길 바랍니다. A Foolish Consistency is the Hobgoblin of Little Minds 본격적으로 문서를 읽기 전 쓰여 있는 말. ‘어리석은 일관성은 작은 마음의 홉고블린이다.’ 무슨 뜻인지 궁금해 찾아보았다. 에머슨의 인용문은 한 줄 이상으로 가장 잘 이해됩니다. “어리석은 일관성은 작은 정치가와 철학자와 신들이 숭배하는 작은 마음의 홉고블린입니다. 일관성이 있으면 위대한 영혼은 할 일이 없습니다. ..
2022.11.03
-
[백준 24479, 24480번] 알고리즘 수업 - 깊이 우선 탐색 1, 2
문제https://www.acmicpc.net/problem/24479https://www.acmicpc.net/problem/24480풀이- 알고리즘 수업 - 깊이 우선 탐색 1# N개의 정점과 M개의 간선으로 구성된 무방향 그래프# 정점 R에서 시작해 깊이 우선 탐색한 노드 방문 순서 출력import syssys.setrecursionlimit(10 ** 6)input = sys.stdin.readline# 정점의 수, 간선의 수, 시작 정점N, M, R = map(int, input().split())graph = [[] for _ in range(N+1)]visited = [0] * (N+1)cnt = 1def dfs(graph, visited, r): global cnt visited..
2024.04.29
-
[공지] Velog로 블로그 이전중 🚚
개발 공부를 시작하고 처음 써오던 블로그를 이전하고 있습니다.현재 tistory 블로그를 아예 안쓰고 싶진 않아서 백준 문제 풀이 정도만 이곳에 남기고 있습니다.제 최근 근황이나 프로젝트, 다른 다양한 포스팅을 보고 싶으시면 Velog 방문해주시면 감사합니다 😃 https://velog.io/@hi-rachel/posts hi-rachel (Rachel) / 작성글 - velog기존 블로그: https://hi-rachel.tistory.comvelog.io 앞으로 계속 어디에 포스팅할지는 모르겠지만 글을 쓰는 곳이 크게 중요하진 않은 것 같아요.Velog가 UI가 예쁘지만 버그도 많고.. 티스토리는 좀 덜 예쁘고.. 장단점이 있는 것 같습니다.여러가지 시도해 보고 좋은 글로 ..
2024.04.21
Fresh Pot ☕️
-
[백준 24479, 24480번] 알고리즘 수업 - 깊이 우선 탐색 1, 2
문제https://www.acmicpc.net/problem/24479https://www.acmicpc.net/problem/24480풀이- 알고리즘 수업 - 깊이 우선 탐색 1# N개의 정점과 M개의 간선으로 구성된 무방향 그래프# 정점 R에서 시작해 깊이 우선 탐색한 노드 방문 순서 출력import syssys.setrecursionlimit(10 ** 6)input = sys.stdin.readline# 정점의 수, 간선의 수, 시작 정점N, M, R = map(int, input().split())graph = [[] for _ in range(N+1)]visited = [0] * (N+1)cnt = 1def dfs(graph, visited, r): global cnt visited..
2024.04.29
-
[공지] Velog로 블로그 이전중 🚚
개발 공부를 시작하고 처음 써오던 블로그를 이전하고 있습니다.현재 tistory 블로그를 아예 안쓰고 싶진 않아서 백준 문제 풀이 정도만 이곳에 남기고 있습니다.제 최근 근황이나 프로젝트, 다른 다양한 포스팅을 보고 싶으시면 Velog 방문해주시면 감사합니다 😃 https://velog.io/@hi-rachel/posts hi-rachel (Rachel) / 작성글 - velog기존 블로그: https://hi-rachel.tistory.comvelog.io 앞으로 계속 어디에 포스팅할지는 모르겠지만 글을 쓰는 곳이 크게 중요하진 않은 것 같아요.Velog가 UI가 예쁘지만 버그도 많고.. 티스토리는 좀 덜 예쁘고.. 장단점이 있는 것 같습니다.여러가지 시도해 보고 좋은 글로 ..
2024.04.21
-
[백준 24444, 24445번] 알고리즘 수업 - 너비 우선 탐색 1, 2
문제https://www.acmicpc.net/problem/24444
2024.04.21
-
[백준 28279번] 덱 2 - Python, 덱 주요 메서드/시간 복잡도
문제 28279번: 덱 2 첫째 줄에 명령의 수 N이 주어진다. (1 ≤ N ≤ 1,000,000) 둘째 줄부터 N개 줄에 명령이 하나씩 주어진다. 출력을 요구하는 명령은 하나 이상 주어진다. www.acmicpc.net 풀이 import sys from collections import deque input = sys.stdin.readline deq = deque() N = int(input()) for _ in range(N): order = list(map(int, input().split())) if order[0] == 1: deq.appendleft(order[1]) elif order[0] == 2: deq.append(order[1]) elif order[0] == 3: if (deq):..
2024.04.03
-
[백준 1890번] 점프 - Python
문제 1890번: 점프 첫째 줄에 게임 판의 크기 N (4 ≤ N ≤ 100)이 주어진다. 그 다음 N개 줄에는 각 칸에 적혀져 있는 수가 N개씩 주어진다. 칸에 적혀있는 수는 0보다 크거나 같고, 9보다 작거나 같은 정수이며, 가장 www.acmicpc.net 풀이 import sys input = sys.stdin.readline n = int(input()) game_map = [list(map(int, input().split())) for _ in range(n)] dp = [[0] * n for _ in range(n)] dp[0][0] = 1 def move(): for i in range(n): for j in range(n): k = game_map[i][j] if k == 0: cont..
2024.03.28
-
[백준 10844번] 쉬운 계단 수 - Python
문제 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 풀이 import sys input = sys.stdin.readline n = int(input().rstrip()) d = [[0] * 10 for _ in range(n+1)] for i in range(1, 10): d[1][i] = 1 for i in range(2, n+1): for j in range(10): if j == 0: d[i][j] = d[i-1][1] elif j == 9: d[i][j] = d[i-1][8] else: d[i][j] = d[i-1][j-1] + d[i-1][j+1] print(sum(d[n]) % 1000000000) 이해하는데 ..
2024.03.22
-
[4963번] 섬의 개수 - Python
문제 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net 풀이 import sys input = sys.stdin.readline from collections import deque # 한 정사각형과 가로, 세로 또는 대각선으로 연결되어 있는 사각형은 걸어갈 수 있음 dx = [-1, 0, -1, +1, +1, 0, +1, -1] dy = [-1, -1, +1, 0, +1, +1, -1, 0] def bfs(i, j): queue.append((i, j)) visited[i][j] = 1 while que..
2024.03.19
-
[백준 11725번] 트리의 부모 찾기 🤯
문제 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net 풀이 예제 입력 1에 대한 트리 1 / \ 6 4 / / \ 3 7 2 / 5 BFS import sys input = sys.stdin.readline from collections import deque # 노드의 개수 N (2 ≤ N ≤ 100,000) N = int(input().rstrip()) tree = [[] for _ in range(N+1)] for i in range(1, N): a, b = map(int, input().split()) tree[a].append(b) tree[b].append(a) ..
2024.03.15
-
[백준 2468번] 안전 영역 - Python
문제 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net 풀이 from collections import deque import sys input = sys.stdin.readline N = int(input()) max_rain = 0 graph = [] for _ in range(N): row = list(map(int, input().split())) graph.append(row) max_row = max(row) max_rain = max(max_rain, max_row) now_rain = 1 max_safe..
2024.03.14
-
[백준 2589번] 보물섬 - PyPy3
문제 2589번: 보물섬 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 www.acmicpc.net 예전에 푼 문제인데 오랜만에 다시 푸니 이틀 정도 애먹었다.. python으로 제출시 시간 초과가 나서 PyPy3로 제출. 풀이 # 2589번 보물섬 # 육지 L, 바다 W # 상하좌우 육지 이동 가능, 한 칸 이동시 한 시간 # 보물 -> 서로 간에 최단 거리로 이동(BFS)하는데 있어 가장 긴 시간이 걸리는 육지 두 곳에 나뉘어 묻혀있음. # -> 끝에서 끝으로 이동시 서로 가장 긴 시간이 걸리는 육지에서 최단거리를 구해라! (완전 탐색) # 보물이 묻혀 ..
2024.03.14
-
[백준 11724번] 연결 요소의 개수 - Python, DFS/BFS
문제 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어 www.acmicpc.net 정점(N)과 간선(M)의 개수가 주어질 때 연결 요소의 개수를 구하라. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 간선 u, v (1 ≤ u, v ≤ N, u ≠ v) 대표적인 DFS/BFS 문제이다. 시간 제한 3초, 메모리 제한 512 MB에 주의해야 한다. 풀이 ✏️ DFS import sys input = sys.stdin.readline sys.setrecursion..
2024.03.12
-
[백준 2667번] 단지번호붙이기 - Python
문제 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 풀이 # 1 - 집이 있는 곳, 0 - 집이 없는 곳 # 단지 수 출력, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력해라. import sys input = sys.stdin.readline # 정사각형 지도 크기 n = int(input()) square_map = [] for i in range(n): square_map.append(list(map(int, input().rstrip()))) cnt = 0 result = 0 def dfs(x..
2024.03.09
-
[구름톤 트레이닝 풀스택 2기] 2차 스터디 결과 2등 수상, 2달 회고
23.10.12 ~ 23.11.30 동안 진행된 2차 스터디가 끝났다. 2차 스터디에서 새로운 분들과 스터디를 하게 되었는데 다들 너무 좋은 분들이어서 상호존중하는 분위기에서 잘 학습할 수 있었다. 팀원분들이 아침마다 매일 파이팅 메세지를 보내주셔서 진짜 스터디 기간 내내 기분 좋게 시작할 수 있었다~ 2차 스터디 목표 2차 스터디 성과 - CS, 알고리즘 스터디 100% 참석 - 혼공컴운 완독 - 꾸준히 기록, 문서화 - 매일 TIL하는 습관 - 긍정적이고 서로 배려하는 팀 분위기에서 많이 배움(소프트 스킬) CS 구름에서 제공한 혼공컴운 책으로 다 같이 스터디하니 혼자 읽을 때보다 체계적으로 빠르게 읽어 완독까지 할 수 있었다. 매주 2회 랜덤 발표로 스터디하면서 헷갈리거나 모르는 내용 토론하면서도 ..
2023.11.30
-
연결된 GitHub 저장소 초기화하기
마주친 상황: 원격 저장소를 새로 만들어 로컬에서 기존에 연결된 저장소를 없애고 새롭게 만든 저장소로 연결하고자 함. git 초기화 로컬 저장소의 .git directory 삭제하기 rm -rf ./git 로컬 저장소 초기화 git init 이후 원래 연결해주던대로 연결해주고 첫 커밋을 해주고 올려준다~ 다시 연결 후 커밋, 푸시 git add . git commit -m "init" git branch -M main git remote add origin https://github.com/github-id/repository.git git push -u origin main 끝!
2023.11.05
-
[DFS/BFS] 탐색 알고리즘 이해하기, 주요 예시 문제
📌 DFS, BFS에서 중요한, 알아야 할 개념 - 스택 - 큐 - 재귀 함수 📍 반복문, 재귀 함수 2가지 방식으로 구현한 팩토리얼(!) 예제 # 반복적으로 구현한 n! def factorial_iterative(n): result = 1 for i in range(1, n + 1): result *= i return result # 재귀적으로 구현한 n! def factorial_recursive(n): if n 연결 리스트 이용 -> 파이썬 2차원 리스트(append, 메소드 제공) 이용하면 된다. - 연결된 정보만을 저장하기 때문에 메모리를 효율적으로 사용 -> 인접 행렬 방식에 비해 특정한 두 노드가 연결되어 있는지에 대한 정보를 얻는 속도가 느리다. 그래프 그래프는 노드(Node)와 간선(Ed..
2023.10.31