Algorithm

    백준 2576번 홀수 [ Java ]

    백준 2576번 홀수 [ Java ]

    2576번: 홀수 7개의 자연수가 주어질 때, 이들 중 홀수인 자연수들을 모두 골라 그 합을 구하고, 고른 홀수들 중 최솟값을 찾는 프로그램을 작성하시오. 예를 들어, 7개의 자연수 12, 77, 38, 41, 53, 92, 85가 주어지 www.acmicpc.net 홀수가 존재하지 않을 때는 -1출력 후 종료 시켜버렸습니다. import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] num = new int[7]; for (int i = 0; i < 7; i++) num[i] = sc.n..

    백준 2490번 윷놀이 [ Java ]

    백준 2490번 윷놀이 [ Java ]

    2490번: 윷놀이 우리나라 고유의 윷놀이는 네 개의 윷짝을 던져서 배(0)와 등(1)이 나오는 숫자를 세어 도, 개, 걸, 윷, 모를 결정한다. 네 개 윷짝을 던져서 나온 각 윷짝의 배 혹은 등 정보가 주어질 때 도(배 한 www.acmicpc.net 도개걸윷모가 어떤거였는지 기억이 잘 안나서 헷갈렸던 문제였습니다. stream 문법을 써보고 싶어서 사용해보았습니다. import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); for(int j=0; j

    백준 2480번 주사위 세개 [ Java ]

    백준 2480번 주사위 세개 [ Java ]

    2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)*1,000원의 상금을 받게 된다. 같은 눈이 2개만 www.acmicpc.net 문제에서 말하는 내용을 그대로 적었습니다. 신경써야될건 if문을 사용했을 때, else if문에서는 위 if문에 조건에 해당하는 내용을 걸러져서 내려오는걸 생각하면 필요없는 조건문을 줄일 수 있습니다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] num = ne..

    백준 2752번 세수정렬 [ Java ]

    백준 2752번 세수정렬 [ Java ]

    2752번: 세수정렬 숫자 세 개가 주어진다. 이 숫자는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 숫자는 모두 다르다. www.acmicpc.net 숫자 세 개를 입력 받고 정렬해 출력해야하는 문제입니다. 처음에 저는 문자열 한 줄로 입력을 받아서 split()으로 쪼개 정렬을 시켜 출력을 하려고 했는데 테스트 케이스에서 위와 같은 방식을 정교하게 처리하지 않으면 틀리게 되어있는 것 같습니다. (두 칸이상 띄어쓰기 등등) 그래서 원래 문제가 요구한다고 생각하는 방식으로 작성했습니다. 1. 문자열처리 방식으로 제출한 코드 import java.util.Arrays; import java.util.Scanner; public class Main { public static void mai..

    프로그래머스 코딩테스트 연습 Level2 - 더 맵게 [ Java ]

    코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같�� programmers.co.kr 힙을 이용한 우선순위 큐(PriorityQueue) 라이브러리를 이용하여 풀었습니다. 우선순위 큐의 원리를 몰라서 아래 글을 참고하였습니다. https://hannom.tistory.com/36 [자료구조] 우선순위 큐(Priority Queue) - 1 큐는 연산의 결과로 먼저 들어간 데이터가 먼저 나오나 우선순위 큐는 다르다. 들어간 순서에 상관없이 우선순위가 높은 데이터가 먼저 나온다. 일상 예제로 병원의 응급실을 예로 들어보면 물� han..

    프로그래머스 코딩테스트 연습 Level1 - 문자열 내 마음대로 정렬하기 [ Java ]

    코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1� programmers.co.kr 기준 문자가 같은경우엔 사전 순 정렬이기 때문에 사전순으로 먼저 정렬한 후에 기준 문자에 대해 정렬 하였습니다. import java.util.*; class Solution { public String[] solution(String[] strings, int n) { Arrays.sort(strings); Arrays.sort(strings, new Comparator(){ @Override p..

    프로그래머스 코딩테스트 연습 Level2 - 전화번호 목록 [ Java ]

    코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조�� programmers.co.kr 다 풀고 찾아보니 startWith라는 메소드를 활용하는 방법도 있었네요! class Solution { public boolean solution(String[] phone_book) { for(int i=0; i

    프로그래머스 코딩테스트 연습 Level1 - 두 정수 사이의 합 [ Java ]

    코딩테스트 연습 - 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우 programmers.co.kr 등차수열의 합 공식을 이용하였습니다. class Solution { public long solution(int a, int b) { return (long)(Math.abs(b-a)+1)*(a+b)/2; } }

    프로그래머스 코딩테스트 연습 Level1 - 나누어 떨어지는 숫자 배열 [ Java ]

    코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하� programmers.co.kr

    프로그래머스 코딩테스트 연습 Level1 - 같은 숫자는 싫어 [ Java ]

    코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr 리턴값을 맞춰주는게 참 난감했습니다.