- 프로그래머스
- 항해99 코테 스터디
- 백준 DFS와 BFS
- Django
- 프로그래머스 level1
- Django 기초
- 코테 연습
- TIL
- 코테
- programmers
- 프로그래머스 레벨1
- 알고리즘 문제
- 백준
- dp 알고리즘
- 항해99
- BFS
- 백준 구현
- 코딩테스트
- 알고리즘 공부
- 백준 dp
- 장고 기초
- 스프링 기초
- 이분탐색
- spring 기초
- 스프링 초보
- 코딩테스트 연습
- 백준 다이나믹프로그래밍
- 장고
- 99클럽 코테 스터디
- Spring 초보
- Today
- Total
목록전체 글 (74)
일일구름 IT
Log 코드를 짜다보면 결과값이 제대로 나오는지 확인해야할때가 있다. 그럴때마다 toast와 같이 모바일 화면을 통해 값을 확인하는 것은 번거롭기 때문에 log를 이용하면 logcat에서 값을 편하게 볼 수 있다. Logcat 출력되는 로그들을 볼 수 있는 도구 Log 종류 Log.v() : verdos, 상세한 로그 출력 Log.d() : debug, 개발에 필요한 내용 출력 Log.i() : information, 정보성 일반적인 메시지 전달 Log.w() : warning, 경고성 메시지 Log.e() : error, 에러 메시지 사용 예시 Log.d("MainActivity", Random.nextInt(1, 6).toString()) Log.d("MainActivity", Random.nextI..
var과 val의 가장 큰 차이점은 var은 가변(Mutable)변수이고 val은 불변(Immutable)이라는 것이다. var var은 Variable(변수)의 약자로 값의 읽기 쓰기가 모두 허용되는 가변 변수이다. 초기화 후에 값을 변경할 수 있다. 하지만 값을 변경할때 초기 값과 다른 type의 값을 넣을 수 없습니다. 만약 타입을 변경하고 싶다면 형변환을 해주어야 합니다. val val은 Value(값)의 약자로 값의 읽기만 허용되는 불변 변수이다. 초기화만 가능하며 이후에 값을 변경할 수 없다.
문제 내 코드 n, w, l = map(int, input().split()) truck = list(map(int, input().split())) min_time = 1 idx = 1 bridge = [0 for _ in range(w-1)] bridge.append(truck[0]) while(sum(bridge)): bridge.pop(0) if idx 다리길이 + 트럭 갯수 -1 로 계산 했다가 틀렸다.. 내가 간과했던 점은 여러대가 지나갈때 그중 몇개가 왼쪽에 도착하면 오른쪽 트럭이 다리위로 올라가도 최대하중을 넘지않는 경우가 있기 때문에 꼭 출발한 트럭들이 다 지나가지 않..
문제 내 코드 s = input() word = [] w = '' idx = 0 while(idx < len(s)): if s[idx] == '': word.append(s[idx:i+1]) idx = i break elif s[idx] == ' ': word.append(''.join(reversed(w))) w = '' word.append(' ') else: w = w+s[idx] idx += 1 if w: word.append(''.join(reversed(w))) print(''.join(word)) 처음엔 일단 괄호가 나오면 스택인가 싶어 스택을 이용해 구현할 수 있는지 고민해보았다. 그런데 괄호로만 이루어진 단어가 아니기 때문에 다른 방법을 생각해보았다. 괄호가 나오는 태그인 경우와 띄어쓰기..
문제 https://www.acmicpc.net/problem/18352 18352번: 특정 거리의 도시 찾기 첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) 둘째 줄부터 M개의 줄에 걸쳐서 두 개 www.acmicpc.net 이 문제의 알고리즘 분류는 다익스트라이기 때문에 다익스트라 알고리즘을 이용하여 풀려다가 모든 도로의 거리는 1이기 때문에 bfs 알고리즘을 사용해 문제를 풀었다. 내 코드 import sys from collections import deque n, m, k, x = map(int, sys.stdin.readline()..
문제 이 문제는 플로이드 워셜로 분류된 문제이다. 문제를 푸는 과정은 1. 플로이드 워셜 알고리즘을 이용해 모든 경로 저장 2. CIRCLE이 생기는 경우가 언제인지 3. CIRCLE이 생기지만 1의 경로에 포함되는지 여부 위의 과정중에 3번을 고려하지 않아 제출했을때 52%에서 계속 실패가 떴다.. 내 코드 n = int(input()) m = 0 arr = [[0 for col in range(n)] for row in range(n)] for i in range(n-1): m = int(input()) node = map(int, input().split()) for j in node: arr[i][j-1] = 1 for k in range(n): for i in range(n): for j in ..
안드로이드 layout 종류 LinearLayout RelativeLayout ConstraintLayout TableLayout GridLayout FrameLayout 기타 Layout LinearLayout 가로 또는 세로로 순차적으로 쌓아나가는 Layout android:orientation 상태 vertical : 세로 방향 horizontal : 가로 방향 예제 RelativeLayout 상대적으로 위치 지정해주는 Layout 부모 View 또는 자식 View 기준으로 위치를 지정해줄 수 있다. 예제 Constraint(제약)Layout RelativeLayout에 가중치를 추가하여 조금 더 발전된 Layout 자식 View들에 제약을 주어 부모View 기준으로 위치를 지정하거나 다른View를..
코드 n, k = map(int, input().split()) coin = [] for i in range(n): coin.append(int(input())) sum = [10001 for i in range(k+1)] sum[0] = 0 for i in coin: for j in range(i, k+1): sum[j] = min(sum[j], sum[j-i]+1) if sum[k] == 10001: print(-1) else: print(sum[k]) 동전 1과 비슷한 문제이지만 차이점은 동전의 최소 갯수를 구하는 점과 불가능한 경우엔 -1을 출력하는 것이다. 일단 sum 리스트를 초기값 10001로 초기화 해준다. i==j일 경우에는 동전을 1개만 뽑아도 되므로 sum[0]에 0을 넣어 sum[i..