전체 글

주저리주저리
알고리즘/Python

[python] 백준 1932 - 정수 삼각형

출처 : 백준, https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 이거 푸니까 보람차다. 프로그래머스에 동일한 문제가 있다. 더보기 2023.04.15 업데이트 풀이 def solution(triangle): # 7 # 3 8 # 8 1 0 # 2 7 4 4 # 4 5 2 6 5 # 점화식은 triangle[i][j] = triangle[i][j] + max(triangle[i-1][j-1], triangle[i-1][j]) answer = 0 floor = len(triangle) for i in range(1, f..

알고리즘/Python

[python] 백준 1874 - 스택 수열

출처 : 백준, https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 이거 진짜 문제 설명이 이상하다. 나도 잘하는건 아니지만 그래도.......... 정답 비율이 낮은 이유가 어려워서가 아니라 문제를 이해 못해서일 확률이 높다. 1부터 n까지 수를 스택에 차례대로 넣었다 빼면서 입력으로 들어온 순열와 같은 순서를 만들 수 있는가? 단, 스택에서 꺼낸 수는 다시 넣을 ..

알고리즘/JavaScript

[JS] JS 100제 - concat을 활용한 출력 방법

출처 : 제주코딩베이스캠프 Code Festival: JavaScript 100제 About Me www.paullab.co.kr 객관식이나 적기 애매한 건 적당히 건너뛰기로 했다. 더보기 내 풀이 var year = '2019'; var month = '04'; var day = '26'; var hour = '11'; var minute = '34'; var second = '27'; var result = year.concat('/', month, '/', day, ' ', hour, ':', minute, ':', second); console.log(result); 시간 복잡도 - 알게 된 점 concat 함수에서는 여러 개를 이을 수 있다. 고찰 -

알고리즘/JavaScript

[JS] JS 100제 - 변수의 타입, 변수의 타입2

출처 : 제주코딩베이스캠프 Code Festival: JavaScript 100제 About Me www.paullab.co.kr 객관식이 있을 줄은 상상을 못했는데; 더보기 알게 된 점 참고 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Data_structures JavaScript의 타입과 자료구조 - JavaScript | MDN 모든 프로그래밍 언어에는 내장된 자료구조가 존재하지만 보통 그 내용은 언어마다 다릅니다. 이 글에서는 JavaScript에서 사용할 수 있는 내장 자료구조와 그 속성에 대해 알아보겠습니다. 그러 developer.mozilla.org JS의 자료형은 1. 기본 자료형 Boolean Null Undefined Number..

알고리즘/JavaScript

[JS] JS 100제 - 배열의 내장 함수

출처 : 제주코딩베이스캠프 Code Festival: JavaScript 100제 About Me www.paullab.co.kr 더보기 내 풀이 var arr = [200, 100, 300]; let arr1 = arr.slice(0, 2); let arr2 = arr.slice(2, 3); arr1.push(10000); console.log(arr1.concat(arr2)); 시간 복잡도 - 알게 된 점 concat() 함수 let A = [1, 2, 3]; let B = [4, 5, 6]; A.concat(B); //[1, 2, 3, 4, 5, 6] 두 list를 연결해서 반환해준다. splice() 함수를 이용한 풀이 let arr = [1, 2, 4, 5]; arr.splice(2, 0, 3)..

알고리즘/JavaScript

[JS] JS 100제 - 배열의 삭제

출처 : 제주코딩베이스캠프 Code Festival: JavaScript 100제 About Me www.paullab.co.kr 자소서를 하나둘 넣기 시작하면서, 더이상 JS 공부와 JS 알고리즘 풀이를 미룰 수 없다는걸 깨달았다. 어떤걸 해볼까 하다가 웹개발용으로만 써봤지 코딩 테스트용으로 쓰기에는 2차원 배열 선언도 못한다는 걸 깨닫고, 코드업 파이썬 100제 같은 것을 찾다가 제주코딩베이스캠프에서 만든 JS 100제를 발견. 50번까지는 기초, 이후로는 활용이고 답안지도 노션 형태로 제공해주고 있어서 이거다 싶어서 호다닥 시작.... 더보기 내 풀이 var nums = [100, 200, 300, 400, 500]; console.log(nums.slice(0, 3)); 알게 된 점 slice()..

알고리즘/Python

[python] 백준 13305 - 주유소

출처 : 백준, https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 더보기 첫 번째 풀이 : 58점 n = int(input()) diss = list(map(int, input().split())) prices = list(map(int, input().split())) prev_price = 99999 answer = 0 for index in range(n-1): if prev_price > prices[index]: prev_..

알고리즘/Python

[python] 백준 1057 - 토너먼트

출처 : 백준, https://www.acmicpc.net/problem/1057 1057번: 토너먼트 김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를 www.acmicpc.net 더보기 풀이 if __name__ == '__main__': num, A, B = map(int, input().split()) count = 0 while True: if A == B: break if A > 1: A = A//2 if A % 2 == 0 else (A//2) + 1 if B > 1: B = B//2 if B % 2 == 0 else (B//2) + 1 count += ..

알고리즘/Python

[python] 백준 2529 - 부등호

출처 : 백준, https://www.acmicpc.net/problem/2529 2529번: 부등호 두 종류의 부등호 기호 ‘’가 k개 나열된 순서열 A가 있다. 우리는 이 부등호 기호 앞뒤에 서로 다른 한 자릿수 숫자를 넣어서 모든 부등호 관계를 만족시키려고 한다. 예를 들어, 제시 www.acmicpc.net 더보기 풀이 def drawLine(ineq_arr, target_arr): n = len(ineq_arr) if ineq_arr[n-1] == '>': target_arr[n] = 'B' else: target_arr[n] = 'R' prev = '' for i in range(n): if prev != ineq_arr[i]: if ineq_arr[i] == '

알고리즘/Python

[python] 백준 1072 - 게임

출처 : 백준, https://www.acmicpc.net/problem/1072 1072번: 게임 김형택은 지금 몰래 Spider Solitaire(스파이더 카드놀이)를 하고 있다. 형택이는 이 게임을 이길 때도 있었지만, 질 때도 있었다. 누군가의 시선이 느껴진 형택이는 게임을 중단하고 코딩을 하기 시 www.acmicpc.net 더보기 첫 번째 풀이 : 실패 import math if __name__ == '__main__': X, Y = map(int, input().split()) a = math.ceil(X**2/(99*X-100*Y)) if 99*X-100*Y > 0 else -1 print(a) 공식을 계산할 때, 전과 후의 차가 0.01 이상이 되는 게임 횟수로 설정을 했는데, 생각해보니..

알고리즘/Python

[python] 백준 2193 - 이친수

출처 : 백준, https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net 더보기 풀이 if __name__ == '__main__': n = int(input()) dp = [0] * (n + 1) dp[1] = 1 for i in range(2, n+1): dp[i] = dp[i-2] + dp[i-1] print(dp[n]) 해보니까 되더라... 시간 복잡도 - 다른 사람의 풀이를 보면서 알게 된 점 - 고찰 -

알고리즘/Python

[python] 백준 1149 - RGB거리

출처 : 백준, https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 내가 푼 게 아니다..... 더보기 풀이 if __name__ == '__main__': n = int(input()) arr = [] for _ in range(n): arr.append(list(map(int, input().split()))) pre_index = arr[0].index(max(arr[0])) for i in range(1, n): ind..

제주도랏맨
제주도랏맨의 블로그