[JAVA] 알고리즘 : Hash, sliding window - 모든 아나그램 찾기 import java.util.*; class Main { public int solution(String a, String b) { int answer = 0; HashMap am = new HashMap(); HashMap bm = new HashMap(); for(char x : b.toCharArray()) bm.put(x, bm.getOrDefault(x, 0)+1); int L = b.length()-1; for(int i=0; i 카테고리 없음 2022.07.05
[JAVA] 알고리즘 : Hash, sliding window - 매출액의 종류 import java.util.*; class Main { public ArrayList solution(int n, int k, int[] arr) { ArrayList answer = new ArrayList(); HashMap HM = new HashMap(); for(int i=0; i ALGORITHM 2022.07.05
[JAVA] 알고리즘 : HashMap - 아나그램 import java.util.*; class Main{ public String solution(String s1, String s2){ String answer="YES"; HashMap map = new HashMap(); for(char x : s1.toCharArray()){ map.put(x, map.getOrDefault(x, 0)+1); } for(char x : s2.toCharArray()){ if(!map.containsKey(x) || map.get(x) == 0) return "NO"; map.put(x, map.get(x)-1); } return answer; } public static void main(String[] args) { Main T = new Main(); Sca.. ALGORITHM 2022.07.04
[JAVA] 알고리즘 : HashMap - 학급 회장 import java.util.*; class Main{ public char solution(int n, String s){ char answer=' '; HashMap map = new HashMap(); for(char x : s.toCharArray()){ map.put(x, map.getOrDefault(x, 0)+1); // 찾는 key가 존재한다면 찾는 key의 value를 반환하고 없거나 null이면 default 값을 반환한다. } int max = Integer.MIN_VALUE; for(char key : map.keySet()){ // 키들을 탐색 if(map.get(key) > max){ // value가 max보다 크다면 max = map.get(key); // max값 갱신 a.. ALGORITHM 2022.07.04
[JAVA] 알고리즘 : 배열 - 뒤집은 소수 import java.util.*; public class Main{ public boolean isPrime(int num){ if(num==1) return false; // 1은 무조건 소수가 아님 for(int i=2; i ALGORITHM 2022.06.27
[JAVA] 알고리즘 : 배열 - 소수(에라토스테네스 체) import java.util.*; public class Main{ public int solution(int n){ int answer = 0; int[] ch=new int[n+1]; for(int i=2; i ALGORITHM 2022.06.27
[JAVA] 알고리즘 : 배열 - 피보나치 수열 배열 사용 import java.util.*; public class Main{ public int[] solution(int n){ int[] answer = new int[n]; answer[0] = 1; answer[1] = 1; for(int i=2; i ALGORITHM 2022.06.27
[JAVA] 알고리즘 : two pointers - 연속된 자연수의 합 투포인터 import java.util.*; public class Main { public int solution(int n){ int answer = 0, sum = 0, lt=0; int m=n/2+1; // 연속된 자연수의 가장 큰숫자 int[] arr = new int[m]; for(int i=0; i0){ cnt++; n=n-cnt; if(n%cnt==0) answer++; } return answer; } public static void main(String[] args){ Main T = new Main(); Scanner kb = new Scanner(System.in); int n=kb.nextInt(); System.out.print(T.solution(n)); } } ALGORITHM 2022.06.26
[Javascript] 알고리즘-문자열 압축 알파벳 대문자로 이루어진 문자열을 입력받아 같은 문자가 연속으로 반복되는 경우 반복되는 문자 바로 오른쪽에 반복 횟수를 표기하는 방법으로 문자열을 압축하는 프로그램을 작성하시 오. 단 반복횟수가 1인 경우 생략합니다. ▣ 입력설명 첫 줄에 문자열이 주어진다. 문자열의 길이는 100을 넘지 않는다. ▣ 출력설명 첫 줄에 압축된 문자열을 출력한다. ▣ 입력예제 1 KKHSSSSSSSE ▣ 출력예제 1 K2HS7E function solution(s) { let answer = ""; let cnt = 1; s = s + " "; for (let i = 0; i < s.length - 1; i++) { if (s[i] === s[i + 1]) cnt++; else { answer += s[i]; if (cnt.. ALGORITHM 2022.06.18
[Javascript] 알고리즘-문자거리 한 개의 문자열 s와 문자 t가 주어지면 문자열 s의 각 문자가 문자 t와 떨어진 최소거리를 출 력하는 프로그램을 작성하세요. ▣ 입력설명 첫 번째 줄에 문자열 s와 문자 t가 주어진다. 문자열과 문자는 소문자로만 주어집니다. 문자열의 길이는 100을 넘지 않는다. ▣ 출력설명 첫 번째 줄에 각 문자열 s의 각 문자가 문자 t와 떨어진 거리를 순서대로 출력한다. ▣ 입력예제 1 teachermode e ▣ 출력예제 1 1 0 1 2 1 0 1 2 2 1 0 function solution(s, t) { let answer = []; let p = 1000; for (let x of s) { if (x == t) { p = 0; answer.push(p); } else { p++; answer.push(p.. FRONT/JAVASCRIPT 2022.06.17