목록코딩테스트 (88)
100세까지 코딩

출처 : 이것이 취업을 위한 코딩 테스트다 with 파이썬 (나동빈 저) 문제 N이 1이 될 때까지 두 과정 중 하나를 반복적으로 선택하여 수행한다. 단, 두 번째 연산은 N이 K로 나누어 떨어질 때만 선택할 수 있다. 1. N에서 1을 뺀다. 2. N을 K로 나눈다. 예시 ex1) N : 17 K : 4 결과 : 17 - 1 =16 , 16 / 4 = 4, 4 / 4 = 1 3회 수행 입력 출력 17 4 3 나의 생각 1씩 빼는 것보다 나누는 것이 훨씬 숫자를 줄인다. 최대한 많이 나누는 것이 관건이다. 나의 풀이 n, k = map(int, input().split()) cnt = 0 while n != 1: if n % k == 0: n //= k else: n -= 1 cnt += 1 print(..
round() : 실수 값을 제대로 비교하지 못할 수도 있으니 반올림 한다. ex) round( 123.456 , 2 ) = 123.46 // 소숫점 둘째 자리까지 (셋째에서 반올림) 나누기 연산자(/)는 결과를 실수형으로 반환한다. 몫 연산자는 (//), 거듭 제곱 연산자는 (**) list 자료형 : 자바의 배열의 기능 & 연결 리스트 a = [1, 2, 3, 4, 5, 6] # 여섯 번째 원소만 출력 print(a[5]) # ans : 6 # 뒤에서 세 번째 원소 출력 print(a[-3]) # ans : 4 # 두 번쨰 원소부터 네 번째 원소까지 print(a[1:4]) # ans : [2,3,4] # 0부터 9까지의 수를 포함하는 리스트 b = [i for i in range(10)] # ans..
파이썬 1. 파이썬은 배우기 쉽고, 읽고 쓰기 쉬워 초보자도 접근하기 좋다. 2. 최근 코딩 테스트 유형을 보면 변칙적이고 다양한 유형이 등장하여, 배우기 쉽고 변칙적인 유형에 대응하기 쉬운 파이썬이 코딩 테스트에 유리하다. 3. SW 역량테스트 B형 이상과 같은 시험을 제외하고 대부분 파이썬을 이용하여 시험을 칠 수 있다. 4. 공채는 파이썬을 허용하고 있다. 5. C++이나 자바에 비해 코드가 짧고 직관적으로 문제를 풀 수 있다. 6. 기본 자료형이 제공하는 기능이 매우 강력해 표준 라이브러리나 추가 외부 라이브러리를 적게 사용한다. 7. 문자열 처리가 다른 언어에 비해서 매우 간결하고 쉽다. C / C++ 1. 실행 시간이 다른 언어에 비해 빠르다. 2. SW 역량테스트 B형 같이 하드웨어에 더 가..

문제 설명 풀기 전 생각 Stack과 Queue를 사용하여 DFS, BFS를 구현 정점 번호가 작은 것을 먼저 방문하려면 인접리스트를 정렬 DFS는 Stack을 사용하니 내림차순 정렬 BFS는 Queue를 사용하니 오름차순 정렬 코드 package algorithm; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; import java.util.Stack; public class DFSBFS { public static void main(String[] arg..
문제 설명 ※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다. https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀기 전 생각 등차수열의 조건을 생각한다. ( 2 * b = a + c ) a나 c값에 더하거나 빼는 조건 = ( 2 * b - (a + c) ) b값에 더하거나 빼는 조건 = ( b - ((a+c) / 2) ) 두 상황 중 절댓값이 더 작은 것 출력 소수점 1자리까지 출력 코드 package algorithm; import java.util.Scanner; import ..
문제 설명 ※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다. https://swexpertacademy.com/main/solvingProblem/solvingProblem.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀기 전 생각 슬라이딩 윈도우와 비슷한 느낌 배열을 미리 1001로 초기화하고 입력받은 빌딩 수만큼 빌딩 높이 저장 5개를 한 묶음으로 생각하며 i = 2부터 시작하여 (i = 빌딩 수 - 2)만큼 반복 i-2, i-1, i+1, i+2 중에 가장 높은 건물 높이를 구하여 현재 빌딩이 더 크면 (현재 빌딩 - 가장 높은 건물 높이) 더해나가면서 총세대수를 구하기 코드..