일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- IP주소
- 원시값
- eslint-prettier
- HTTPS
- REST API
- 참조타입
- 응답코드
- 퀵정렬
- CRLF
- expected linebreaks to be 'lf' but found 'crlf' linebreak-style
- password 안보임
- 프로그래머스
- expected linebreaks to be 'crlf' but found 'lf' linebreak-style
- JadenCase
- git 개행문자
- react
- eslint
- git 명령어
- CRA
- 가장큰수
- lazy-load
- k번째수
- 개행문자
- input 안보임
- git
- LF
- git autocrlf
- prettier
- input type password
- vscode
- Today
- Total
목록전체 글 (43)
우파루파의 개발 기록
안녕하세요. 이번 문제는 DFS와 BFS 입니다.너무 기본적인 문제라서 설명이랄게 없는데요.그냥 BFS-DFS 개념을 알게돼서 기분이 좋아서 포스팅 하는 것 같습니다. 인접 행렬 방식이 아닌 인접 리스트 방식으로 풀었습니다. 문제는 https://www.acmicpc.net/problem/1260 입니다. 문제 핵심- DFS와 BFS를 구현하는 것 (정석)- 간선이 주어지지 않은 노드도 탐색할 수 있도록 할 것 (input이 그렇게 주어지더라구요) - 그러니까 n이 5고, 간선은 1이라면 1-2-3-4-5 모두 최초 조회 자체는 대응 가능하게 짜둬야 합니다. 코드import sysfrom collections import dequegraph = dict()visited = set()dfs_result ..
안녕하세요.이번 문제는 프로그래머스의 3단계 문제 '베스트앨범' 입니다.해시 기반 문제라고 분류가 되어 있네요. 개념이 어려운 문제는 아니었습니다. 이제부턴 문제 사진을 추가하진 않으려고 합니다. 링크로 대체합니다.https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이번 문제는 조건만 잘 따지면 됩니다. 문제 핵심- 장르별로 가장 많이 재생된 노래를 '모든 종류별로' 노래를'두개(장르에 노래가 한곡만 있을 수 있음)'씩 모아야 함- 노래는 '고유번호'로 구분, 노래는 (genres[i] = p..
안녕하세요.이번 문제는 백준의 1918번 후위 표기식 문제입니다.골드 2 단계의 문제입니다. 이 문제는 너무 어려워서 약 3일정도 해당 문제만 풀었습니다. 아직 고수가 되려면 한참 멀었습니다. 이전 포스팅의 후위 표기식 2 문제와 비슷한 개념을 공유합니다. 하지만 차이점은 후위 표기식 2 문제와 다르게 중위 표기식을 후위 표기식으로 만든다는 점에서 차이가 있습니다. 너무 많은 메모를 해가면서 풀어서, 조금 정리해서 필요한 부분만 포스팅 하고 있습니다.코드를 작성한 시간보다, 문제의 규칙을 찾기 위해서 쓴 시간과 테스트 케이스를 직접 작성하는 시간이 훨씬 길었습니다.제가 푼 버전은 크게 두가지가 있는데.. 초기 버전은 40ms 로 합격했지만 가독성이 좋지 않고, 스택을 사용하는 코드지만 복잡해서 개선이 필..
안녕하세요.이번 문제는 백준 1935번 후위 표기식 문제입니다.실버 3단계 문제입니다. 비교적 간단하지만, 후위연산자에 대한 개념을 알아야 합니다.후위 연산자는 저도 이번 문제를 통해서 처음 봤습니다. 검색해보니 기존 인간이 푸는 방식인 중위 연산자 방식과 다르게(A+B) 컴퓨터가 계산하기 수월한 방식인 후위 연산 방식이더라구요(AB +). 아마 조금만 검색해보시면 생소하지만 다들 이해 되실거라고 생각합니다. 그리고, 문자열 처리에 대해 알아야 하는 지식들이 있었습니다. - ord: 특정 문자열을 해당하는 유니코드 정수로 변환- eval: 문자열 식을 코드상에서 실행- f string에서의 소숫점 처리 (아래 코드는 두번째 자리까지 표현) print(f"{value:.2f}") 이것 이외에는 후위 연산..
안녕하세요. 이번 문제는 백준의 17299 오등큰수 문제입니다.골드 3단계의 문제입니다. 이 문제를 풀기 이전에 17298의 오큰수를 먼저 풀었습니다.오큰수를 푸는 방법을 거의 활용해서 풀었습니다. 오큰수 같은 경우 첫 골드 문제인지라 어렵기도 했고 시간 복잡도에서 계속 실패가 나왔습니다. 그래서 문제의 풀이를 찾아보며 문제를 풀었는데요.찾아보고 나서 느낀건.. 정답 코드가 어려운 것은 아니었지만 그 알고리즘(스택 활용)을 문제만 보고 어떻게 도출해낼 것인지를 판단하는 건 쉽지 않더라구요. (많이 풀어보는 것이 능사겠지만요) 역시 문제를 잘 읽어보고, 문제에서 요구하는 자료구조를 잘 읽어낼 수 있는 게 중요한 부분인 것 같습니다.그리고 입력 데이터들의 크기와 시간 제한을 보고, 통과할 수 있는 대략적인..
안녕하세요.이번 문제는 백준의 2750번 '수 정렬하기' 입니다.버블 정렬로도 풀어보고, 병합 정렬로도 풀어보고, 선택 정렬로도 풀어보고.. 이 문제는 여러 방식으로 풀어봤습니다. 이번엔 삽입 정렬에 대해서만 작성합니다. 문제알고리즘 캔버스코드n = int(input())result = [int(input()) for i in range(n)]for i in range(1, n): value = result[i] j = i while j > 0 and result[j-1] > value: result[j] = result[j-1] j -= 1 result[j] = valueprint(*result, sep="\n") 제약N(1 ≤ N ≤ 1,000)둘..
안녕하세요. 이번 문제는 백준의 2002번 '추월' 입니다. 문제 코드 import sys n = int(input()) count = 0 origin = [sys.stdin.readline().rstrip() for i in range(n)] for i in range(n): s = sys.stdin.readline().rstrip() if origin[i - count] != s: count += 1 origin.remove(s) print(count) 알고리즘 캔버스 아이디어 원본 배열을 입력받아 origin에 저장 현재 배열을 입력받으면서 순서대로 원본 배열과 대조해봄 기존 배열과 현재 배열을 순서대로 대조했을때, 기존 배열 참조는 i를 기준으로 하되, (origin[i]) 이미 추월한 차의 개수..
안녕하세요. 이번 문제는 프로그래머스의 60057번 입니다. 문자열을 압축하는 문제입니다. 문제 코드 def solution(s): result = set([len(s)]) for i in range(1,len(s)): result.add(len(string_zip(s, i))) return min(result) def string_zip(strs, n): result = "" target = strs[:n] count = 1 for i in range(n, len(strs), n): if strs[i:i+n] == target: count += 1 else: result += f"{count if count > 1 else ''}{target}" count = 1 target = strs[i:i+n] ..