◻ 전체 글 수 :

    [백준] 1764번: 듣보잡 (🥈실버 4) (Python)

    문제 바로 가기 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 풀이 사용 언어 : Python 풀이한 날짜 : 2024-01-11 n, m = tuple(map(int, input().split())) not_heard = [ input() for _ in range(n) ] not_seen = [ input() for _ in range(m) ] not_heard = set(not_heard) not_seen = set(not_seen) answer = not_heard.intersection(not_s..

    [백준] 1541번 : 잃어버린 괄호 (🥈실버 2) (Python)

    문제 바로 가기 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 풀이 사용 언어 : Python 풀이한 날짜 : 2024-01-11 input_str = input() answer = 0 # 1st. 수식 문자열을 항으로 분류하여 리스트로 만듦 exp_lst = [] number = [i for i in range(10)] number_temp = [] for elem in input_str: if elem in str(number): number_temp.append(elem) else: exp_lst..

    [백준] 1074번 : Z (🥈실버 1) (Python)

    문제 바로 가기 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net 풀이 사용 언어 : Python 풀이한 날짜 : 2024-01-11 import sys sys.setrecursionlimit(100000) n, r, c = tuple(map(int, input().split())) grid_n = 2 ** n high_bound = 0 low_bound = 0 def divide(grid_n, start_r, start_c, start_num): global high_bound, low_bound t..

    [백준] 1012번 : 유기농 배추 (🥈실버 2) (Python)

    문제 바로 가기 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 풀이 사용 언어 : Python 풀이한 날짜 : 2024-01-11 import sys sys.setrecursionlimit(100000) test_case_num = int(input()) drs = [0, 1, 0, -1] dcs = [1, 0, -1, 0] answer = 0 answers = [] def in_range(r, c): return r >= 0 and r = 0 and c < m def can_visit(r, c): ..

    [백준] 1107번 : 리모컨 (🥇골드 5) (Python)

    문제 바로 가기 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼이 www.acmicpc.net 풀이 사용 언어 : Python 풀이한 날짜 : 2024-01-10 target = int(input()) btn_errors = int(input()) if btn_errors: error_btn_lst = list(map(int, input().split())) else: error_btn_lst = [] target_lst = list(str(target)) min_cnt = abs(100 - target) def chec..

    비전공자 수준도 안되었던 어느 컴공생의 2022년 회고

    비전공자 수준도 안되었던 어느 컴공생의 2022년 회고

    마음을 다잡고 나의 첫 연간 회고록을 작성해본다. 개발 공부를 제대로 시작한 2022년부터 1년 단위로 내가 성장을 위해 어떤 노력과 도전을 해왔는지, 그리고 이를 통해 무엇을 느끼고 배웠는 지를 돌아보며 나의 짧디 짧은 개발 인생을 요약해보고자 한다. 사실 그동안 종종 내 자신을 돌아보며 후기 및 회고를 작성해왔으나, 이렇게 연 단위로 회고를 작성해보는 것은 이번이 처음이다. 2022년 회고록을 이제서야 작성하는 이유에 대해 궁금한 분이 계실 것 같아 간단하게 말하면, 그리 대단한 이유는 아니다. 그저 귀찮음을 비롯한 여러 핑계로 계속 미뤄왔다가 지금까지 작성하지 못한 것이다. 참으로 부끄럽지 않을 수 없지만, 그렇기에 올해는 작년의 과오를 반복하지 않고 꼭 연간 회고록을 통해 내 자신을 충분히 돌아보..

    [자료구조] 0. 포인터의 개념을 이해해보자

    자료구조 처음 배우기 시작하면 가장 먼저 순차 자료구조와 선형 리스트(배열 및 리스트)에 대해 배운다. 이 주제는 프로그래밍 언어의 문법을 학습할 때 배우는 내용과 거의 차이점이 없어 학생들에게도 부담이 적은 부분이라 생각한다. 하지만 이다음으로 순차 자료구조와 비교되는 '연결 자료구조'에 대해 배우게 되는데, 아마 이 부분이 자료구조를 처음 학습하는 학생의 입장에서 마주하는 첫 번째 고비가 아닐까 싶다. 비록 개념 자체는 단순하지만, '포인터'를 기반으로 이루어진 자료구조라, 포인터와 메모리 개념을 잘 이해하고 있지 않는다면 연결 리스트의 개념은 물론 삽입, 삭제, 탐색 연산을 이해하고 구현하는데 상당한 어려움을 겪을 가능성이 높기 때문이다. 그래서 연결 자료구조에 대해 알아보기 전에, 우선 이 포스트..

    [JavaScript] forEach문에서 return이나 break를 쓰면 안된다

    중간고사가 끝나고 여유가 생겨 오랜만에 코딩테스트 연습을 위해 프로그래머스에서 '올바른 괄호'라는 문제를 풀고 있었는데, 작성한 코드의 로직이 틀린 곳이 없음에도 특정 케이스가 계속 통과하지 않는 문제가 발생했습니다. 그래서 테스트케이스를 직접 작성해보고 코드도 디버깅해보며 오랜시간 전전긍긍하다 결국 문제점을 발견하고 해결했습니다. 이 문제점은 그동안 제가 전혀 몰랐던 내용이었기에, 이렇게 기록으로 남겨둡니다. 결론부터 말하면 자바스크립트의 배열을 순회하는 forEach문에서는 return문이나 break문을 작성해도 코드가 반복을 중단하지 않습니다. 그리고 forEach문 안에서 return문을 만나도 forEach문을 감싸고 있는 함수를 벗어나지 않습니다. 예시코드를 살펴보면 다음과 같습니다. fun..

    [CSS] CSS-in-JS의 Styled-Components 사용법 및 문법 정리

    CSS-in-JS란? 자바스크립트 파일 안에서 CSS를 작성할 수 있는 방법이다. 자바스크립트의 상태 값을 공유하여 동적으로 스타일링을 하기 위해 등장한 패러다임이다. 인라일 스타일 이용 or 클래스 명으로 조건부 스타일링 props.[props 속성 이름]} import styled from "styled-components"; const Father = styled.div` display: flex; `; const Box = styled.div` background-color: ${(props) => props.bgColor}; width: 100px; height: 100px; `; function App() { return ( ); } export default App; 이 문법을 활용하면 중복..

    [React] 카카오맵 API를 통해 지도를 화면에 띄우기 (에러 해결법)

    [React] 카카오맵 API를 통해 지도를 화면에 띄우기 (에러 해결법)

    멋쟁이 사자처럼에서 진행하는 중앙 해커톤을 준비하면서 카카오맵 API를 통해 지도를 화면에 그리는 기능을 구현하게 되었습니다. 카카오에서 제공한 공식문서가 워낙 깔끔하게 잘 정리되어있어 빠르게 지도를 화면에 구현할 수 있었지만, 도중 몇몇 문제를 마주하여 고민했던 부분 역시 있었는데, 이 포스트에선 이러한 문제를 어떻게 해결했는지를 정리하여 비슷한 어려움을 겪고 있는 다른 개발자 분들에게 도움을 드리고자 합니다. (참고로 저는 Web API를 사용하여 구현했습니다.) 로컬 환경에서 테스트할 수 있도록 사이트 도매인 등록하기 로컬 환경에서 카카오맵 API가 올바르게 동작하는 지 확인하기 위해선 로컬 주소를 사이트 도매인으로 등록해주면 됩니다. 저는 처음에 공식문서에서 '웹 서버를 실행시키라'는 언급이 있어..