본문 바로가기 메뉴 바로가기

jenlog

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

jenlog

검색하기 폼
  • All (81)
    • algorithm (71)
      • baekjoon (31)
      • swea (30)
      • programmers (9)
    • JS (1)
    • Vue.js (2)
    • React (2)
    • * etc (5)
  • 방명록

Python (28)
[백준] 1541. 잃어버린 괄호 / python 파이썬

🚩 수학, 그리디 알고리즘, 문자열, 파싱 thinking - 기준으로 쪼갠 후, 리스트의 첫번째 요소만 더하고 그 이후 요소는 다 빼면 된다. ex. 50+32-48+72-145+32-5-3 이라면 50+32-(48+72)-(145+32)-5-3 이 가장 최소가 되는 방법이다. 1. - 기준으로 쪼갠다 -> ['50+32', '48+72', '145+32', '5', '3'] 2. 첫번째 요소는 + 기준으로 쪼갠 후 더한다 -> 50+32 3. 나머지 요소는 + 기준으로 쪼갠 후 다 뺀다 -> -48-72-145-32-5-3 코드 input_lst = input().split('-') tmp = input_lst[0].split('+') res = 0 for ele in tmp: res += int(e..

algorithm/baekjoon 2021. 4. 10. 22:31
[백준] 1620. 나는야 포켓몬 마스터 이다솜 / python 파이썬

🚩 자료구조, 문자열, 해시를 이용한 집합과 맵 1. 시간초과 (fail) 문제보자마자 바로 enumerate으로 index랑 value 출력했는데 시간초과가 났다. N, M = map(int, input().split()) lst = [input() for _ in range(N)] quest = [input() for _ in range(M)] for j in range(M): for i, v in enumerate(lst): # print(i, type(i), v, type(v)) # 0 Bulbasaur if quest[j] == v: print(i+1) if quest[j] == str(i+1): print(v) 혹시몰라 sys.stdin.readline() 도 추가해줬는데 이건 의미가 없었다...

algorithm/baekjoon 2021. 4. 10. 00:51
[swea] 5178. 노드의 합 / python 파이썬

🚩 트리(tree) 풀이 1 왼쪽 자식, 오른쪽 자식을 세트로 같이 더해주는 방식 T = int(input()) for tc in range(1, T+1): N, M, L = map(int, input().split()) # N:노드개수, M:리드노프개수, L:출력할 노드번호 tree = [0 for _ in range(N + 1)] for i in range(M): n, v = map(int, input().split()) tree[n] = v # 방법1 if N % 2 == 0: # 노드개수가 짝수인 경우를 위해 설정 tree.append(0) for i in range((N//2)*2, 1, -2): tree[i // 2] = tree[i] + tree[i + 1] print("#{} {}".for..

algorithm/swea 2021. 4. 9. 01:12
[swea] 5177. 이진힙 / python 파이썬

🚩 트리(tree) thinking [부모노드, 왼쪽자식, 오른쪽자식, 노드값] 의 2차원 리스트 형태의 트리를 만들고 input data 값을 넣어준다. 왼쪽자식, 오른쪽자식의 노드번호가 1씩 차이나므로 인덱스를 홀짝으로 접근해 값을 넣어줬고, 만약 전체 노드의 개수가 짝수인 경우 오른쪽 자식이 없으므로 0으로 다시 할당해주는 조건문을 설정했다. change 라는 함수를 통해 부모

algorithm/swea 2021. 4. 9. 01:04
[swea] 1961. 숫자 배열 회전 / python 파이썬

코드 ❕ 주의 ❕ 90도 회전하는 rotation 함수에서 먼저 NxN 빈 배열을 만들어줘야 한다. 그래야 회전한 값을 넣을 수 있다. T = int(input()) # 90도 회전하는 함수 def rotation(a, N): new_arr = [[0] * N for _ in range(N)] # NxN 빈 배열 먼저 만들기 for i in range(N): for j in range(N): new_arr[i][j] = a[N-1-j][i] return new_arr for tc in range(1, T+1): N = int(input()) arr = [list(map(int, input().split())) for _ in range(N)] rot_90 = rotation(arr, N) rot_180 ..

algorithm/swea 2021. 4. 9. 00:34
이전 1 2 3 4 5 6 다음
이전 다음
글 보관함
TAG
  • merge 에러
  • Python
  • 프로그래머스
  • 삼성기출
  • 2018 카카오 공채
  • dp
  • 파이썬
  • 영어끝말잇기
  • 20056 마법사 상어와 파이어볼
  • 17406 배열돌리기4
  • 21609 상어 중학교
  • merge에러
  • swea
  • 브루트포스
  • 기지국설치
  • 백준
  • react
  • dfs
  • 보석쇼핑
  • 알고리즘
  • git 미러링
  • 2579 계단오르기
  • 삼성코테
  • 20057 마법사 상어와 토네이도
  • BFS
more
최근에 올라온 글
Total
Today
Yesterday
최근에 달린 댓글
«   2025/05   »
일 월 화 수 목 금 토
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 31

jennnn.tistory.com

티스토리툴바