반응형
BFS(너비 우선 탐색), DFS(깊이 우선 탐색)
DSU(서로소 집합 자료 구조), FFT(고속 푸리에 변환), KMP(커누스-모리스-프랫 알고리즘)
게임, 구간합, 구현, 그래프, 그리디, 네트워크플로우, 누적합
다이나믹프로그래밍, 링크드리스트, 문자열, 배열, 백트래킹, 분할정복
비트, 비트마스크, 사고력, 세그먼트트리, 수학, 수학적사고력
스택, 시뮬레이션, 완전탐색, 위상정렬, 이분매칭, 이분탐색
재귀, 정렬, 조건문, 최단경로, 큐, 탐색, 투포인터, 트리, 해시, 행렬, 힙
01) 문자열 반복해서 출력하기 (입력값은 문자 숫자 둘 다)
https://school.programmers.co.kr/learn/courses/30/lessons/181950
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
int n = sc.nextInt();
for(int i=0; i<n; i++){
System.out.print(str);
}
}
}
02) 두 수의 나눗셈 (feat. 강제형변환)
https://school.programmers.co.kr/learn/courses/30/lessons/120806
class Solution {
public int solution(int num1, int num2) {
return (int)(num1/(double)num2*1000);
}
}
03) 분수의 덧셈
https://school.programmers.co.kr/learn/courses/30/lessons/120808
class Solution {
public int[] solution(int numer1, int denom1, int numer2, int denom2) {
int[] answer = new int[2];
/*
numer1/denom1 + numer2/denom2
*/
int 분모 = denom1 * denom2; //더했을 때 분모
int 분자 = numer1*denom2 + denom1*numer2; //더했을 때 분자
// 분자와 분자의 최대공약수를 구해 나눠줌
int 최대공약수 = 최대공약수를계산(분모,분자);
answer[0] = 분자 /최대공약수;
answer[1] = 분모 /최대공약수;
return answer;
}
// 유클리드 호제법으로 최대공약수 구하기
public static int 최대공약수를계산(int num1, int num2){
if (num2 == 0) return num1;
return 최대공약수를계산(num2, num1 % num2);
}
}
04) 배열의 중앙값 구하기
- 버블정렬 외 다른 정렬 기법으로도 구현 가능!
https://school.programmers.co.kr/learn/courses/30/lessons/120811#
//import java.util.Arrays;
class Solution {
public int solution(int[] array) {
int answer = 0;
int size = array.length;
int 중앙index = size%2==1 ? size/2 : size/2-1;
//Arrays.sort(array); //배열정렬
for (int i = 0; i < array.length; i++) {//배열정렬
for (int j = i; j < array.length; j++) {
if (array[j] < array[i]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
answer = array[중앙index];
return answer;
}
}
05) 배열의 최빈값 구하기
https://school.programmers.co.kr/learn/courses/30/lessons/120812#
import java.util.*;
class Solution {
public int solution(int[] array) {
int maxCount = 0;
int answer = 0;
Map<Integer, Integer> map = new HashMap<>();
for(int arr : array){
// HashMap.getOrDefault(Object key, V defaultValue) : 지정된 키가 없을 경우 null 대신 기본값 반환
int count = map.getOrDefault(arr, 0) + 1; //처음 카운트는 1로 만들기 위한 로직
if(count > maxCount){
maxCount = count;
answer = arr;
}else if(count == maxCount){
answer = -1;
}
map.put(arr, count);
}
return answer;
}
}
06) n 이하의 홀수를 배열로 반환
https://school.programmers.co.kr/learn/courses/30/lessons/120813
import java.util.stream.IntStream;
class Solution {
public int[] solution(int n) {
int[] answer = {};
// => IntStream.rangeClosed(0, n) : 0부터 n까지 모든 정수를 스트림으로 반환
// => IntStream.filter(e -> e % 2 == 1) : Java의 스트림 API에서 조건에 맞는 요소만 필터링 (홀수만 필터링)
// => IntStream.toArray() : 스트림에 있는 모든 요소가 int[] 배열로 반환
answer = IntStream.rangeClosed(0, n)
.filter(e -> e % 2 == 1)
.toArray();
return answer;
}
}
07) 배열의 평균값
https://school.programmers.co.kr/learn/courses/30/lessons/120817?language=java
class Solution {
public double solution(int[] numbers) {
int amount = 0;
double answer = 0;
for(int i=0; i< numbers.length; i++){
amount += numbers[i];
}
answer = (double)amount/numbers.length;
return answer;
}
}
08) 피자 나눠먹기
https://school.programmers.co.kr/learn/courses/30/lessons/120814
class Solution {
public int solution(int n) {
return (int)Math.ceil((double)n/7);
}
}
https://school.programmers.co.kr/learn/courses/30/lessons/120815
class Solution {
//n과 6의 최소공배수를 구하는 문제
public int solution(int n) {
int answer = 0;
int 최소공배수 = (n * 6) / gcd(6, n);
answer = 최소공배수/6;
return answer;
}
//최대공약수
public static int gcd(int a, int b) {
if (b == 0)return a;
return gcd(b, a % b);
}
https://school.programmers.co.kr/learn/courses/30/lessons/120816
class Solution {
public int solution(int slice, int n) {
return (int)Math.ceil((double)n/slice);
}
}
반응형
'coding_test' 카테고리의 다른 글
[99클럽 4기 코테 스터디 TIL 2일차] 크기가 작은 부분 문자열 (0) | 2024.10.30 |
---|---|
[99클럽 4기 코테 스터디 TIL 1일차] 문자열 내 p와 y의 개수 (1) | 2024.10.28 |
[코딩테스트] 4. 프로그래머스 코딩테스트입문 (Day5, Day6) 코딩 기초 트레이닝 (Day1, Day2) (0) | 2024.10.18 |
[코딩테스트] 2. 약수의 갯수와 덧셈 (with 자바) (0) | 2024.10.17 |
[코딩테스트]1. 신규아이디추천 (with 자바 문자열) (0) | 2024.10.16 |