https://www.acmicpc.net/problem/2812 2812번: 크게 만들기 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 그리디 알고리즘 스택 ⊙ 문제 접근 과정 파이썬으로 알고리즘 문제를 풀다 보면 가끔씩 이런 생각을 한다. 생각을 조금만 더 하면 문제를 풀 수 있는 건가? 아니면 생각을 덜 해야 문제를 풀 수 있는 건가? 풀이를 보면 정말 단순한데 내 뇌는 그 단순한걸 거부하고 어렵게 접근한다 ㅋㅋ 이번 문제는 스택에 값을 넣고 그 값이랑 다음 값이랑 비교해서 더 큰 값으로 갱신해주면 끝이다. 아래 풀이를 보자 ⊙ 문제..
https://www.acmicpc.net/problem/5397 5397번: 키로거 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L ≤ 1,000,000) 강산이가 백스페이스를 입 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 스택 연결 리스트 ⊙ 문제 접근 과정 if문를 사용하여 입력받은 값이 " " 일 때 " - " 일 때 나머지 로 나누어줬다. 1번인 " " 일 때, stack에 값이 있다면 그 값을 result에 추가해준다. 만약 stack이 없다면 무시 3번인 " - " 일 때, result에 값이 있다면 가장 ..
https://www.acmicpc.net/problem/2437 2437번: 저울 하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 한다. 이 저울의 양 팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같다. 또한, 저울의 한쪽에는 저울추들만 놓 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 그리디 알고리즘 정렬 ⊙ 문제 접근 과정 작은 값부터 더해나가 다음 list의 값보다 작으면 그 위치에서 break후, 현재까지 더해나간 값을 출력해주면 된다. 예를 들어 ① target (=1) >= x (=1) target = 1 + 1 = 2 ② target (=2) >= x (=1) target = 2 + 1 = 3 ③ target (=3)..
https://www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 정렬 이분 탐색 두 포인터 ⊙ 문제 접근 과정 투 포인터 알고리즘을 사용해 풀었다. 초기 비교 값을 한계치보다 훨씬 높게 설정해주고 비교하면서 더 작은 값을 결괏값에 넣어주면서 포인터를 이동시켜갔다. 마지막에는 두 값을 출력해주면 끝!! 코드를 보면 쉽게 이해가 될 것 같다!! 이해가 안 되시는 분은 댓..
https://www.acmicpc.net/problem/9996 9996번: 한국이 그리울 땐 서버에 접속하지 총 N개의 줄에 걸쳐서, 입력으로 주어진 i번째 파일 이름이 패턴과 일치하면 "DA", 일치하지 않으면 "NE"를 출력한다. 참고로, "DA"는 크로아티어어로 "YES"를, "NE"는 "NO"를 의미한다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 문자열 브루트포스 알고리즘 정규 표현식 ⊙ 문제 접근 과정 중요하게 봐야 할 곳 "패턴은 알파벳 소문자 여러 개와 별표(*) 하나로 이루어진 문자열이다." "소문자 여러 개" 예시에서는 별표를 가운데에 두고 양쪽에 소문자가 하나씩 있지만, 소문자 여러 개가 위치해도 가능하다는 뜻이다. 따라서 문자열 슬라..
https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 문자열 ⊙ 문제 접근 과정 띄어쓰기를 기준으로 배열에 추가해줬다. 그렇지만 괄호 안에 있는 띄어쓰기는 무시해야 한다. flag를 이용하여 괄호를 판별 해줬다. 나머지 코드는 전부 직접 구현했다. 괄호 안에 있는 텍스트는 parentheses 문자열 안에 괄호 밖에 있는 텍스트는 message 문자열 ..
https://www.acmicpc.net/problem/4889 4889번: 안정적인 문자열 입력은 여러 개의 데이터 세트로 이루어져 있다. 각 데이터 세트는 한 줄로 이루어져 있다. 줄에는 여는 괄호와 닫는 괄호만으로 이루어진 문자열이 주어진다. 문자열의 길이가 2000을 넘는 경우 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 문자열 스택 ⊙ 문제 접근 과정 스택을 활용하여 문제에 접근하였다. 1️⃣ 문자 중 '-'가 들어오면 바로 종료 2️⃣ 문자가 "{"이면 스택에 추가 3️⃣ "}"이고 스택에 값이 있다면 pop() 4️⃣ "}"이고 값이 없다면 count up 그리고 "{" 추가 5️⃣ 마지막에 결괏값 count+ (스택의 수)//2 출력..
https://www.acmicpc.net/problem/5052 5052번: 전화번호 목록 첫째 줄에 테스트 케이스의 개수 t가 주어진다. (1 ≤ t ≤ 50) 각 테스트 케이스의 첫째 줄에는 전화번호의 수 n이 주어진다. (1 ≤ n ≤ 10000) 다음 n개의 줄에는 목록에 포함되어 있는 전화번호가 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 자료 구조 문자열 정렬 트리 트라이 ⊙ 문제 접근 과정 일관성 여부를 boolean을 이용하여 체크해주었다. 1️⃣ 배열을 만들어주고 값을 순서대로 넣어준다. 2️⃣ 그리고 값을 정렬해주는데 string 기준으로 정렬해준다. 3️⃣ 현재 전체 값이 다음 값에 부분집합에 포함된다면 boolean을 꺼준다. 4️⃣ b..
https://www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 구현 문자열 그리디 알고리즘 ⊙ 문제 접근 과정 같다는 여부를 boolean을 사용해 판별해줬다. 문제를 보자마자 1로 만들기 문제가 생각났다 해당 문제를 보고 나는 S를 T로 만드는 방식이 아닌 T를 S로 만들어야 한다고 직감적으로 생각했다. 그리고 거꾸로 추적하여 T를 S로 만들어주는 코드를 만들..
https://www.acmicpc.net/problem/16938 16938번: 캠프 준비 난이도가 10, 30인 문제를 고르거나, 20, 30인 문제를 고르면 된다. www.acmicpc.net ⊙ 문제 ⊙ 입력 ⊙ 출력 ⊙ 예제 입출력 ⊙ 알고리즘 분류 수학 브루트포스 알고리즘 조합론 백트래킹 ⊙ 문제 접근 과정 값을 입력받고 2개 이상부터 N개까지 조합을 해준다. 그리고 L
- Total
- Today
- Yesterday
- py
- CPP
- 정리
- 운영체제
- BFS
- 파이썬
- 자바스크립트
- java
- 풀이
- Web
- 구현
- 연습문제
- JS
- 정렬
- C++
- 그리디
- 자바
- OS
- 정답
- 답
- Python
- 프로그래머스
- 우종정
- 쉽게배우는자바프로그래밍
- 백준
- 문자열
- 알고리즘
- 쉽게 배우는 자바 프로그래밍
- 쉽게배우는
- 해답
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |