목록분류 전체보기 (40)
개발계발
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/drXKXj/btsGRKulRSC/YxfRZBVUo5jnV08KlXc4Xk/img.png)
문제 설명 제한사항 접근방식 - denom1, denom2의 최소공배수를 구함 - 배열에 분자 * (최소공배수 / 분모)끼리 더한 값과, 최소 공배수를 담아 반환 풀이 코드 def gcd(a, b): while b != 0: a, b = b, a % b return a def lcm(a, b): return a * b // gcd(a, b) def solution(numer1, denom1, numer2, denom2): lcm_value = lcm(denom1, denom2) adjusted_numer1 = numer1 * (lcm_value // denom1) adjusted_numer2 = numer2 * (lcm_value // denom2) total_numer = adjusted_numer1 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ctkCFp/btsGO992Iqn/gf9V3e97fWqbE57uAe3Xhk/img.png)
문제 설명 제한 사항 접근 방식 - polynomial을 "+"기준으로 split - x와 상수를 분리 - x끼리 더하고 상수끼리 더함 - 형식에 맞게 출력 풀이 코드 def solution(polynomial): answer = "" divide = polynomial.split(" + ") num_x = 0 num = 0 for i in divide: if 'x' in i: # 변수x가 있으면 plus = i.split('x')[0] # x를 기준으로 나눈뒤 첫번째 값을 추출(계수) if plus == '': # 첫번째 값이 비어있는 경우에는 계수가 1임 num_x += 1 else: # 1이 아닌 경우 num_x += int(plus) else: # 변수 x가 없는 경우(상수) num += int(..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cZxxJY/btsGO8pIXD2/hqR7c0kQdoCdeHr1cVRqak/img.png)
문제 설명 제한사항 접근 방식 - numlist의 각 원소에서 n을 뺀 절대값을 포함한 2차원 배열 생성 - 생성한 배열의 절대값과 크기를 기준으로 정렬 풀이 코드 def solution(numlist, n): answer = [] # 절대값을 포함해 정렬할 2차원 배열 sorted_by_n = [] # numlist의 값을 절대값을 포함해 추가 for num in numlist: sorted_by_n.append([num, abs(num-n)]) # 절대값을 기준으로 정렬, 절대값이 같다면 -x[0]을 기준(num의 크기, 내림차순)으로 정렬 sorted_by_n.sort(key = lambda x : (x[1], -x[0])) for num in sorted_by_n: answer.append(num..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/4bOKL/btsGOwRhvAj/9SUNmZGo9hjP5zHOsas4q1/img.png)
자바의 문자열은 String이라는 객체로 생성된다. 아래와 같이 변수를 선언하고 대입하거나, 선언과 동시에 대입할 수 있다. String name; name = "홍길동"; String hobby = "여행"; 위와 같이 선언하면 메모리의 스택 영역에는 변수명과 해당 객체의 번지가 저장되고, 힙영역에 실제 객체가 생성된다. 만약 아래와 같이 변수에 값을 대입하면, String name1 = "홍길동"; String name2 = "홍길동"; name1과 name2 변수에는 동일한 번지가 저장된다. 동일한 객체를 아예 새롭게 생성하려면 아래와 같이 선언해야 한다. String name1 = new String("홍길동"); String name2 = new String("홍길동"); 위 두가지 방식 중 어..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bjVNv4/btsGLuk6WOo/EVLwxeOkwuDkAK0LwiFzpK/img.png)
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/120875 제한사항 처음 접근 방식(틀린 코드) 한 점으로부터 다른 모든 점에 선을 연결하고 모든 기울기를 비교 def solution(dots): answer = 0 inclination = [] for i in range(3): for j in range(i+1, 4): tmp = abs((dots[j][1] - dots[i][1])) / abs((dots[j][0] - dots[i][0])) if tmp in inclination: answer = 1 break inclination.append(tmp) return answer -> 코드 실행 시 2가지 test case는 통과하나,..
컨테이너(리스트, 튜플, 문자열 등)를 입력받아 각 요소에 대한 인덱스와 값을 포함하는 enumerate 객체를 반환하는 함수로, '(인덱스, 요소)'의 형태로 제공한다. 기본 형태는 아래와 같다. for index, element in enumerate(iterable, start=0): print(index, element) - 'iterable' : 반복 가능한 객체(리스트, 문자열) - 'start' : 인덱스의 시작값(생략가능하며, default값은 0) 실제 사용 예시 fruits = ['apple', 'banana', 'cherry'] for index, fruit in enumerate(fruits): print(index, fruit) 출력값 0 apple 1 banana 2 cherry