본문 바로가기

전체 글104

[C++] 백준 20166번 : 문자열 지옥에 빠진 호석 https://www.acmicpc.net/problem/20166 20166번: 문자열 지옥에 빠진 호석 K개의 줄에 걸쳐서, 신이 좋아하는 문자열을 만들 수 있는 경우의 수를 순서대로 출력한다. www.acmicpc.net 1. K 문자열마다 dfs로 문자열 만들어진 총 횟수 return -> 시간초과 2. K 문자열 중 가장 긴 값으로 dfs 재귀 1번 돌려서 각 재귀단계에서 만들어진 문자열 map 저장 후 value return #include #include #include #include #include #include #include using namespace std; int N, M, K; char arr[10][10]; string str[1000]; pair dir[8] = { {-1.. 2022. 5. 13.
[C++] 백준 2866번 : 문자열 잘라내기 https://www.acmicpc.net/problem/2866 2866번: 문자열 잘라내기 첫 번째 줄에는 테이블의 행의 개수와 열의 개수인 R과 C가 주어진다. (2 ≤ R, C ≤ 1000) 이후 R줄에 걸쳐서 C개의 알파벳 소문자가 주어진다. 가장 처음에 주어지는 테이블에는 열을 읽어서 문자 www.acmicpc.net 1. 세로단어가 중복되면 stop : map 사용 2. 회차마다 배열에서 char 단위로 세로단어 만들어서 map에 넣고 판별 : 시간초과 3. 최초 입력시 세로단어를 string 배열로 만들어서 회차마다 substr로 map에 넣고 판별 : 통과 #include #include #include #include #include #include #include using names.. 2022. 5. 13.
JavaScript 팁 js로 알고리즘을 풀줄이야.. 0. 풀기 전.. 1) var, let, const 간단히 var : 변수재선언가능, function scope let : 변수재선언불가능, immutable 가능 const : 변수재선언불가능, immutable 불가능 참조) https://gist.github.com/LeoHeo/7c2a2a6dbcf80becaaa1e61e90091e5d javascript var, let, const 차이점 javascript var, let, const 차이점. GitHub Gist: instantly share code, notes, and snippets. gist.github.com 2) 입력 const readline = require('readline'); const rl =.. 2022. 5. 11.
JAVA 팁(2) 개발은 JAVA, 알고리즘은 C/C++을 했던 사람들을 위해.. 1. 실제 사용 예시 // 입력(한 줄 단위) BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); // 공백을 포함한 입력에 활용 ex) 0 10 500 .. StringTokenizer st = new StringTokenizer(str); int n = Integer.parseInt(st.nextToken()); int m = Integer.parseInt(st.nextToken()); .. // 공백 없을 땐 그냥 for(i) int n = Integer.parseInt(str.charAt(i)); // 문.. 2022. 5. 11.
문자열 알고리즘관련 1. LCS Longest Common Subsequence : 비연속 최장 공통 문자열 Longest Common Substring : 연속 최장 공통 문자열 참고) [알고리즘] 그림으로 알아보는 LCS 알고리즘 - Longest Common Substring와 Longest Common Subsequence LCS는 주로 최장 공통 부분수열(Longest Common Subsequence)을 말합니다만, 최장 공통 문자열(Longest Common Substring)을 말하기도 합니다. velog.io 2022. 5. 8.
[C++] 백준 5582번 : 공통 부분 문자열 https://www.acmicpc.net/problem/5582 5582번: 공통 부분 문자열 두 문자열이 주어졌을 때, 두 문자열에 모두 포함된 가장 긴 공통 부분 문자열을 찾는 프로그램을 작성하시오. 어떤 문자열 s의 부분 문자열 t란, s에 t가 연속으로 나타나는 것을 말한다. 예를 들 www.acmicpc.net 문자열 + dp 기본 문제 너무 좋은 LCS 알고리즘 설명글도 아래에 공유 #include #include #include #include #include #include using namespace std; string str1, str2; int idx1, idx2, ans = 0; int dp[4001][4001] = { 0, }; int main() { ios::sync_with.. 2022. 5. 8.
[C++] 백준 20413번 : MVP 다이아몬드 (Easy) https://www.acmicpc.net/problem/20413 20413번: MVP 다이아몬드 (Easy) 입력된 MVP 등급을 달성하기 위한 최대 누적 과금액을 만원 단위로 출력한다. www.acmicpc.net 그리디 알고리즘 적용하는 기본 구현 문제 #include #include #include #include #include #include using namespace std; int N, b = 0, s, g, p, d, pay[36]; char grd; int ans = 0; int cal(int idx, char C) { if (idx == 0) { if (C == 'B') return s-1; else if (C == 'S') return g-1; else if (C == 'G') .. 2022. 5. 8.
[C++] 프로그래머스 : 소수찾기 - 소수판별 알고리즘 - set 활용법 : iterator, insert - string에도 begin(), end() - next_permutation : 순열정렬 라이브러리 함수 *적용전 배열 sort 필요 #include #include #include #include #include using namespace std; bool isPrime(int a){ if(a == 0 || a == 1) return false; if(a == 2) return true; if(a % 2 == 0) return false; for(int i=2; i 2022. 3. 10.
[C++] 프로그래머스 : 코딩테스트연습_정렬 2. 가장 큰 수 코드와 같은 comp함수를 생각해내냐 못해냐에 따라 크게 달라지는 완성도 #include #include #include using namespace std; bool comp(string a, string b){ return a+b>b+a; } string solution(vector numbers) { string answer = ""; vector tmp; for(int i=0; i 2022. 2. 21.