[프로그래머스/JAVA] 해시 - Lv1 완주하지 못한 선수
·
Computer Science/자료구조와 알고리즘
1. 문제 2. 코드 import java.util.*; class Solution { public String solution(String[] participant, String[] completion) { HashMap hm = new HashMap(); String answer = ""; for(String player : participant) hm.put(player,hm.getOrDefault(player,0)+1); for(String player : completion) hm.put(player,hm.get(player)-1); for(String key : hm.keySet()) if(hm.get(key)!=0){ answer = key; System.out.println(answer);..
[JAVA] 백준 2675번 : 문자열 반복
·
Computer Science/자료구조와 알고리즘
1. 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. 2. 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int n= sc.nextInt(); for(int i=0;i
[Algorithm] Exhaustive Search(완전검색), Greedy Algorithm(탐욕 알고리즘), Sort(정렬)
·
Computer Science/자료구조와 알고리즘
보호되어 있는 글입니다.
[JAVA] 백준 10809번 : 알파벳 찾기
·
Computer Science/자료구조와 알고리즘
1. 문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 2. 전체 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); String S = sc.nextLine(); byte[] byte_S = S.getBytes(); for(int j=97;j
[알고리즘] 역순 정렬 및 값 교환
·
Computer Science/자료구조와 알고리즘
x와 y의 값이 있다고 할 때, x와 y값을 서로 바꾸는 과정은 아래와 같다. 1. x값을 tmp에 보관 2. y값을 x에 대입 3. tmp에 보관한 값(처음 x값)을 y에 대입 배열요소를 이용하면 x와 y대신 arr[x] arr[y]라 쓸 뿐 과정은 동일하다. tmp = arr[x]; arr[x] = arr[y]; arr[y] = tmp; 이렇게 두 요소를 교환하는 것은 꽤 자주 나오는 유형이기 때문에, swap이라는 메소드로 구현하는 것이 좋다. public static void swap(int[] arr,int idx1, int inx2){ int tmp = arr[idx1]; arr[idx1] = arr[idx2]; arr[idx2] = tmp; }
[알고리즘] 드모르간 법칙(De Morgan's law)이란?
·
Computer Science/자료구조와 알고리즘
드모르간 법칙이란?? '각 조건을 부정하고 논리곱을 논리합으로, 논리합을 논리곱으로 바꾸고 다시 전체를 부정하면 원래 조건과 동일하다' 코드를 예로 들어 표현하면, (num99) 위와 같은 제어식이 있다고 하자, 이 식은 "!"(※ 논리 부정 연산자)를 이용하여 아래와 같이 표현할 수 있다. !(num>=10&&num
[알고리즘] 최댓값 구하기 - java
·
Computer Science/자료구조와 알고리즘
3개의 정수 값 중 최댓값을 구하는 프로그램 코드를 먼저 보여주자면 import java.util.Scanner; public class Max3 { public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.print("a: "); int a = sc.nextInt(); System.out.print("b: "); int b = sc.nextInt(); System.out.print("c: "); int c = sc.nextInt(); int max = a; if(b>max) max=b; if(c>max) max=c; System.out.println("max : "+max); sc.close(); } }..
[JAVA] 백준 11720번 : 숫자의 합
·
Computer Science/자료구조와 알고리즘
1. 문제 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 2. 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int N = sc.nextInt(); String num = sc.next(); int sum=0; for(int i=0;i 문자열로 입력받는다? 이런 생각의 흐름을 거쳤다 막상 문자열로 입력을 받고 보니, 문자열에서 하나씩 뽑아 숫자를 출력해야하는데 charAt은 해당문자의 아스키코드값을 반환하기 때문에 48을..