일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 다이나믹 프로그래밍
- 잠실
- 완전탐색
- sw expert academy
- 동적 계획법
- 알고리즘
- 스택
- 삼성 기출
- 맛집
- BFS
- 백트래킹
- SWEA
- BOJ
- PS
- 에라토스테네스의 체
- 브루트포스
- 시뮬레이션
- 그리디
- koitp
- C++
- 백준
- DP
- 소수
- 삼성 SDS 대학생 알고리즘 특강
- Algorithm
- 구현
- 해커랭크
- dfs
- dynamic programming
- hackerrank
- Today
- Total
목록문자열 (3)
펭로그
문제링크 : https://noj.am/1475 문자열을 입력 받아서 갯수를 카운팅 하고 그 중에서 가장 많이 카운팅 된 숫자가 몇개인 지를 구하는 문제이다.단, 문제의 조건에서 6과 9는 뒤집어서 사용할 수도 있다고 했기 때문에 0.5씩 카운팅하여 쉽게 해결하였다.이러한 과정을 위해서 float형을 사용하였다. 12345678910111213141516171819202122232425262728293031323334353637383940414243// BOJ_1475 방 번호#include #include using namespace std; int max(int a, int b){ return a > b ? a : b;} int round(float input){ float temp = (int)in..
문제링크 : https://noj.am/1120 단순하게 두 문자열을 같은 길이 만큼만 비교하여 일치하지 않는 만큼의 문자가 몇개인지를 체크하여 최소값을 구하는 브루트포스 알고리즘적 방법으로 접근하였다. 1. A의 앞에 아무 알파벳이나 추가한다. 2. A의 뒤에 아무 알파벳이나 추가한다.이 두 조건을 최소값이 나오게 하려면 추가할 아무 알파벳을 B와 같게 만들면 되기 때문에 신경 안써도 되는 조건이다. 12345678910111213141516171819202122232425262728293031323334// BOJ_1120 문자열#include #include using namespace std; int min(int a, int b) { return a > b ? b : a;} int main() ..
문제링크 : https://noj.am/9935 요즘 알고리즘 테스트 문제들이 파싱 문제들이 하도 많이 나와서 연습해볼겸 별 의미는 없지만 string stream을 사용하여 풀어보았다.string stream을 통하여 입력된 문자열이 폭발 문자열의 '마지막 문자'에 해당할 경우 이전에 입력되었던 문자열이 폭발 문자열과 일치하는지 체크하는 방법으로 풀이했다. 본 풀이법은 스택을 사용한 풀이법이라 할 수 있다. 예제에서는 "C4"가 폭발 문자열이다.아래의 조건에서 '4'를 찾았다면 문자열 탐색이 실행된다.1if (s == bomb.back())cs 먼저 idx 변수를 폭발 문자열 크기만큼 뺀 인덱스로 초기화 시켜준다.폭발 문자열의 맨 앞인 'C'에 해당하는 값이다.123int idx = result.siz..