알고리즘 공부 170

[프로그래머스] 문자열 출력하기 JS

문자열 출력하기 문제 설명 문자열 str이 주어질 때, str을 출력하는 코드를 작성해 보세요. 제한사항 1 ≤ str의 길이 ≤ 1,000,000 str에는 공백이 없으며, 첫째 줄에 한 줄로만 주어집니다. 입출력 예 입력 #1 HelloWorld! 출력 #1 HelloWorld! 방법1. const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); let input = []; rl.on('line', function (line) { input = [line]; }).on('close',function(){ str = input[0]; con..

코테 벼락치기(코테 요약)

코테 보기전에 휙 보려고 정리했던 글들 #해시를 사용한 집합과 맵 hash_set 오름차순 HashSet set = new HashSet(); ArrayList list = new ArrayList(); // 오름차순 Collections.sort(list); //내림차순 Collections.sort(list, Collections.reverseOrder()); // 대소문자 구분없이 오름차순 Collections.sort(list, String.CASE_INSENSITIVE_ORDER); HashMap과 HashSet의 차이 HashMap은 중복 Key 값을 허용하지 않지만, 중복 Value 값은 허용한다. ex. {'a': 1, 'b': 1, 'c': 2} HashSet은 객체 자체를 데이터로 저장..

알고리즘 공부 2022.12.22

[JAVA] java.util.regex.PatternSyntaxException: Dangling meta character '+' near index 0

String input = br.readLine(); String[] num = input.split("+|-"); 처음에 이렇게 코드를 작성했는데 Exception in thread "main" java.util.regex.PatternSyntaxException: Dangling meta character '+' near index 0 +|- ^ 요런 에러가 나타났다. 해결책은 *, +, - 등 연산기호 앞에 '\\'을 붙여준다. String input = br.readLine(); String[] num = input.split("\\+|\\-"); 이제는 오류없이 잘 나온다!

알고리즘 공부 2022.12.11

🎉축!🎉 백준 100일 연속 문제 해결!!

🎊잔디 100일 연속 달성🎊 암것도 모르던 코린이 자바를 고작 두 달 배우고 정올 문제 풀 때는 간단한 문자열 자르기도 어려워하고, 별찍기도 제대로 하나도 못하던, 팩토리얼 구현하라 그러면 그 간단한 5줄을 못 적어서 3시간을 끙끙거렸다. 그런데 새싹 문제부터 차근차근 시작하다보니 연속 100일이 되었다. 브론즈 1~2는 손도 못대겠다고 어떻게 해야 풀 수 있냐고 글 올렸던 때가 이번 달이였는데, 확실히 자료구조 공부하니까 이제는 실버문제만 풀게 되었다. 2022년 안에 꼭 골드 단다!! 사실 자료구조라는걸 배우기 시작한 2022년 11월(이번 달)부터이기도 하고, 백준만 푸는게 아니라 프로그래머스, Cos Pro 다 병행하다보니..어느순간 백준 문제 푸는게 더뎌짐. (근데 프로그래머스 맛본 이유로 자꾸..

[백준] 1463 : 1로 만들기 (JAVA)

1로 만들기 시간 제한메모리 제한제출정답맞힌 사람정답 비율 0.15 초 (하단 참고) 128 MB 229129 75490 48351 32.288% 문제 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. X가 3으로 나누어 떨어지면, 3으로 나눈다. X가 2로 나누어 떨어지면, 2로 나눈다. 1을 뺀다. 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. 입력 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. 출력 첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다. 예제 입력 1 복사 2 예제 출력 1 복사 1 예제 입력 2 복사 10 예제 출력 2 복사 3 힌트 10의 경우에 10 -> ..

[백준] 10866 덱 (JAVA)

백준 10866 자바 덱 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 0.5 초 (추가 시간 없음) 256 MB 55268 30309 25610 56.152% 문제 정수를 저장하는 덱(Deque)를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여덟 가지이다. push_front X: 정수 X를 덱의 앞에 넣는다. push_back X: 정수 X를 덱의 뒤에 넣는다. pop_front: 덱의 가장 앞에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. pop_back: 덱의 가장 뒤에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 덱에 들어있는 정수의 ..

[자료구조] 덱

덱 Deque Deque 는 Double - Ended Queue 의 줄임말이다! 한쪽에서만 삽입, 다른 한쪽에서만 삭제가 가능했던 큐와 달리 양쪽 front, rear 에서 삽입 삭제가 모두 가능한 큐를 의미하는 자료구조이다. Deque deque = new LinkedList(); //삽입 deque.addFirst(); // Deque의 앞쪽에 데이터를 삽입, 용량 초과시 Exception deque.offerFirst(); // Deque의 앞쪽에 데이터를 삽입 후 true, 용량 초과시 false deque.addLast(); // Deque의 뒤쪽에 데이터를 삽입, 용량 초과시 Exception deque.add(); // addLast()와 동일 deque.offerLast(); //Dequ..

알고리즘 공부 2022.11.30

[백준] 1929 : 소수 구하기(JAVA)

1929 자바 에라토스테네스의 체 자바 소수 구하기 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 256 MB 209263 59135 41704 26.581% 문제 M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. 출력 한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다. 예제 입력 1 복사 3 16 예제 출력 1 복사 3 5 7 11 13 출처 데이터를 추가한 사람: jinjean0123, yongjun042 알고리즘 분류 수학 정수론 소수 판정 에라토스테네스의 체 처음에는 그냥 구했다가 런타임 에러만 떴따.. 소수..

[구름 ] 단어의 개수 세기 자바(JAVA)

import java.io.*; import java.util.*; class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st= new StringTokenizer(br.readLine()); StringBuilder sb = new StringBuilder(); int cnt=0; //영단어 개수 카운트 while(st.hasMoreTokens()){ String input = st.nextToken(); //공백을 포함하지않으면 단어로 인정해서 카운트 if(!input...

알고리즘 공부 2022.11.30