Category 179

[기타, VS code] 상대 경로 오류, 실행 파일 경로, launch json

문제 해결 과정 문제 상황 : 파이썬 파일 실행하는데, input 파일 상대 경로를 못 읽어온다. 액션 1 : 기준이 되는 경로를 찾자 print(os.getcwd()) 결과 : 예상했던 루트가 아니다, 실행 경로가 상위 폴더로 되어 있다. ➔ 경로 기준은 뭐로 결정되는 걸까? 액션 2 : 출력된 경로를 살펴보니, 켜져있던 터미널 창이 파이썬 파일을 실행할 때 기준이 된다는 것을 알게 됨 액션 3 (해결) : 터미널 경로를 실행파일로 맞춰주고 ctrl + F5 실행하니 성공 추가 개선 추가 문제 상황 : 매 실행파일마다 터미널 경로를 바꿔야 하나?, 터미널을 끈 채로 실행할 때, 자동으로 상위 폴더로 설정되어 실행됨 액션 : debug 설정파일인 launch.json의 파라미터 탐색 후 관련 코드 추가 ..

Programming 2022.09.01

[node] console 메서드 (테이블형식출력, 성능측정, 객체출력)

성능측정 : time, timeEnd 함수의 호출 전후에 console.time('id');, console.timeEnd('id') 입력하면 id: --ms 형식으로 걸린 시간이 출력 됨. console.time("for loop"); for (let i = 0; i < 10; i++) { i++; } console.timeEnd("for loop"); 호출 횟수 출력 : count 함수 내부에 console.count('x count'); 삽입하면, 함수가 호출될 때마다 x count : 횟수 형식으로 출력됨. 호출 경로, 디버깅에 용이 : trace 호출된 코드를 감싸는 함수를 기점으로 상위 코드를 줄줄이 출력해줌 그 외 console.table(Object) console.info(msg) con..

[프로그래머스] dictionary 한줄로 구성하기

내 코드 from collections import Counter def solution(id_list, report, k): report = set(report) dic = {} for id in id_list: dic[id] = 0 reported = [x for x,y in Counter([r.split()[1] for r in report]).items() if y>= k] print(reported) answer = [0] * len(id_list) for r in report: a, v = r.split() if v in reported: idx = id_list.index(a) answer[idx] += 1 return answer 다른 사람 코드 def solution(id_list, re..

⚡️algorithm 2022.06.23

[구현] 이코테, 프로그래머스 문자열 압축

문제 바로가기 중복되는 문자열을 압축해서 압축 결과가 가장 작은 길이를 출력하라. 조건 1] 앞에서부터 일정 단위로 자른다. 조건 2] 입력되는 문자열의 길이는 1이상 1,000이하이다. 힌트 길이가 1,000이기 때문에 완전 탐색을 수행할 수 있다. 문자열의 길이를 기준으로 가장 큰 반복문의 틀을 만든다. 문자열의 길이는 range(s,e,step)을 이용해, 문자열의 특정 단위를 탐색할 수 있다. import sys sys.stdin = open('./구현/input.txt','rt') s = str(input()) short = len(s) for step in range(1,len(s)//2+1): # i는 자를 문자열의 길이 # 0 단위, 1단위, 2단위, initial = s[:step] re..

⚡️algorithm 2022.06.14

[완전탐색, 브루트포스] 백준 1065. 한수

문제 n이 가진 한수 개수를 출력하라, 한수는 어떤 양의 정수 X의 각 자리가 등차수열을 이루는 수이다. 브루트포스 무차별 대입으로 해를 구하는 방식이다. 내 코드 x = int(input()) cnt = 0 for n in range(1,int(x)+1): if n//10 2: d = lst[0] - lst[1] flag = True for idx in range(len(lst)-1): if d != lst[idx] - lst[idx+1]: flag = False break if flag: cnt += 1 print(cnt)배울 코드 if x < 100: print(x) else: print(len(list(filter(lambda x: int(str(s)[2]) == 2*int(str(x)[1])- ..

⚡️algorithm 2022.06.06

[문자열] 프로그래머스 lv2. 방금그곡

문제 내가 들은 음계가 그 노래 음계에 포함이 되니? 리뷰 if m in played: 가 중요했다. 코드 melody = [&#39;C&#39;, &#39;C#&#39;, &#39;D&#39;, &#39;D#&#39;, &#39;E&#39;, &#39;F&#39;, &#39;F#&#39;, &#39;G&#39;, &#39;G#&#39;, &#39;A&#39;, &#39;A#&#39;, &#39;B&#39;] m = &#39;ABCDEFG&#39; info = ["12:00,12:14,HELLO,CDEFGAB", "13:00,13:05,WORLD,ABCDEF"] answer = &#39;HELLO&#39; def removeSharp(music): if &#39;A#&#39; in music: music..

⚡️algorithm 2022.05.31

[조합, 자료구조] 프로그래머스 lv2. 후보키

문제 문제 바로가기 후보키를 구하는 문제이다. 후보키의 개념을 알고 있다면, 문제이해가 빠르긴 한데 구현이 더 중요하다. 리뷰 주요 변수는 맞았는데, for의 전개나 구조가 너무 복잡하게 느껴졌었다. 다른 사람들 코드를 보니 자료구조를 정말 적극적으로 사용한 게 보였다. 반복해서 연습하면 skill 향상이 되지 않을까 한다.. 냠냠.. 코드 from itertools import combinations rel = [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music"..

⚡️algorithm 2022.05.31

[스택] 프로그래머스 lv1. 크레인 인형뽑기 게임

문제 인형이 쌓인 board에서 맨 위에 인형 하나씩 moves에 따라 꺼낸다. 꺼낸 인형들은 바구니에 담는데, 바구니에 담긴 인형들은 연달아 같은 인형이 담길 경우 제거된다. 제거된 인형의 개수는? 문제 바로가기 코드 def solution(board, moves): bucket = [] for j in moves: # 각 열에 있는 인형들 꺼내서 바구니에 담기 for i in range(len(board)): if board[i][j-1] != 0: bucket.append(board[i][j-1]) board[i][j-1] = 0 break cnt = 0 while True: long = len(bucket) # 더이상 인형제거가 발생하지 않는지 확인하기 위해 for i in range(1,len(..

⚡️algorithm 2022.05.30