코딩테스트(5)
-
코딩테스트 연습 > 연습문제 > 최댓값과 최솟값
1. 일단 우선적으로 입출력을 자세하게 봤는데 공백으로 나눠져 있는걸 보고, 공백 기준으로 문자열을 나눠야겠다 라고 생각했다.2. 가장 작은 값을 넣을 변수와, 가장 큰 값은 넣을 변수를 Integer.MIN_VALUE, Integer.MAX_VALUE로 초기화3. for문을 돌려서 가장 작은 값과, 가장 큰 값을 찾는다. class Solution { public String solution(String s) { // 공백을 이용해서 문자로 자르기 String[] sNum = s.split(" "); int sNumBig = Integer.MIN_VALUE; int sNumSmall = Integer.MAX_VALUE;..
2024.07.16 -
코딩테스트 연습 > 연습문제 > 두 정수 사이의 합
ex ) a = 3, b = 5return 값 > 3 + 4 + 5 = 12 문제 풀이 과정1. a, b중에 큰 값과 작은 값을 골라낸다.2. for문을 통해서 return 값을 알아낸다. class Solution { public long solution(int a, int b) { long answer = 0; // 작은 값, 큰 값 구하기 int smallNum = Math.min(a,b); int bigNum = Math.max(a,b); // i를 작은 값으로 설정한 후 // 큰 값 포함한 값까지 i++ // answer에 증가하면서 대입 for(int i = smallNum..
2024.07.14 -
그리디 & 구현 # 2
구현(Implementation) - 구현이란, 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정입니다. - 프로그래밍에서의 좌표계는 일반적인 대수학에서의 좌표계와 다른 의미를 가질 때가 많습니다. - 일반적으로 알고리즘 문제에서의 2차원 공간을 행렬(Matrix)의 의미로 사용됩니다. - 완전 탐색 문제에서는 2차원 공간에서의 방향 벡터가 자주 활용됩니다. 시각: 문제 설명 - 정수 N이 입력되면 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 구하는 프로그램을 작성하세요. 예를 들어 1을 입력했을 때 다음은 3이 하나라도 포홤되어 있으므로 세어야 하는 시각입니다. - 00시 00분 03초 - 00시 13분 30초 - 반면에 다음은 3이 하나도..
2020.11.25 -
그리디 & 구현 # 1
그리디 알고리즘 - 그리디 알고리즘(탐욕법)은 현재 상황에서 지금 당장 좋은 것만 고르는 방법을 의미 - 일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구합니다. - 정당성 분석이 중요 거스름 돈: 문제 설명 - 최적의 해를 빠르게 구하기 위해서는 가장 큰 화폐 단위부터 돈을 거슬러 주면 된다. 거스름 돈: 정당성 분석 - 가장 큰 화폐 단위부터 돈을 거슬러 주는 것이 최적의 해를 보장하는 이유는? - 가지고 있는 동전 중에서 큰 단위가 항상 작은 단위의 배수이므로 작은 단위의 동전들을 종합해 다른 해가 나올 수 없기 때문입니다. 거스름 돈: 답안 예시(Python) n = 1260 count = 0 # 큰 단위의 화폐부터 차례대로 확인하기 array = [50..
2020.11.25 -
코딩 테스트 개요
코딩 테스트? - 일종의 문제 풀이 시험 - 응시자의 수를 효과적으로 줄이기 위한 방법 코딩 테스트 유형 - 온라인 코딩 테스트 - 오프라인 코딩 테스트 온라인 저지(Online Judge) 코딩 테스트 응시자 설문 온라인 개발 환경 (Python) - 리플릿 - 파이썬 튜터 - 파이참(PyCharm) 온라인 개발 환경 (C++) - Dev C++ IT 기업 코딩 테스트 최신 출제 경향 - 그리디 (쉬운 난이도) - 구현 - DFS/BFS를 활용한 탐색 2019년 주요 기업 코딩 테스트 유형 분석 복잡도(Complexity) - 복잡도는 알고리즘의 성능을 나타내는 척도 - 시간 복잡도 : 특정한 크기의 입력에 대하여 알고리즘의 수행 시간 분석 - 공간 복잡도 : 특정한 크기의 입력에 대하여 알고리즘의 메..
2020.11.18