본문 바로가기
728x90

공부22

[shell programming] sed linux 명령어 이해하기 해당 포스트는 sed linux 명령어를 이해하기 위해서 아래의 포스트를 해석하며 내용 정리 및 추가한 것입니다. https://likegeeks.com/sed-linux/ 31+ Examples for sed Linux Command in Text Manipulation - Like Geeks Linux text manipulation is awesome when using sed Linux command, we discuss substituting flags, replacing characters, deleting lines, Reading from a file likegeeks.com sed lunux 명령어 기본구조 sed linux 명령어는 지정해준 규칙에 따라 데이터 변경해준다. 명령어를 사용.. 2020. 12. 29.
[백준][C] 11053번 가장 긴 증가하는 부분 수열 (동적 계획법) 전체 성공 코드 #include #define MAX_N 1000 int getMax(int a, int b) { return a > b ? a : b; } int dp(int n, int* arr) { int DP_table[n + 1]; int max_value = 1; DP_table[0] = 0; for (int i = 1; i 0; j--) { if (arr[i - 1] > arr[j - 1]) { DP_table[i] = getMax(DP_table[j] + 1, DP_table[i]); } } max_value = getMax(DP_table[i], max_value); } return max_value; } int main() { int n; scanf("\n%d", &n); int arr.. 2020. 12. 22.
[Codility][C] BinaryGap 전체 성공 코드 int getMax(int a , int b) { return a > b ? a : b; } int solution(int N) { // write your code in C99 (gcc 6.2.0) int flag = 0; int temp = 0; int max_value = 0; while(N != 1) { if (N % 2 == 0) { if (flag) { temp++; max_value = getMax(max_value, temp); } } else { // N % 2 == 1 if (!flag) { flag = 1; } else { temp = 0; } } N = N / 2; } return max_value; } 결과 화면 2020. 12. 22.
[백준][C] 11727번 2×n 타일링 2 (동적 계획법) 이전에 포스팅한 타일링 문제에서 약간의 변형이 된 문제이다. soyoonique.tistory.com/46?category=807751 [백준][C] 11726번 2×n 타일링 (동적 계획법) 가로 크기가 n인 곳을 채워야 할 때, 처음 타일을 세워서 놓는 경우 가로의 크기가 (n-1) 인 곳을 채우는 문제가 되고, 반대로 눞혀서 놓을 땐 (n-2) 곳을 채워야하는 문제가 된다. 이를 이용하여 점 soyoonique.tistory.com 다른 점이 있다면 이전에는 (n - 2) 크기의 타일을 부르는 경우가 1 x 2 타일을 가로로 나란히 놓은 경우밖에 없지만, 이번에는 정사각형을 놓는 경우가 추가되었다는 것이다. 즉, 점화식은 D[i] = D[i - 1] + 2 * D[i -2]이 되고 이전과 동일한 방.. 2020. 12. 21.
[백준][C] 11726번 2×n 타일링 (동적 계획법) 가로 크기가 n인 곳을 채워야 할 때, 처음 타일을 세워서 놓는 경우 가로의 크기가 (n-1) 인 곳을 채우는 문제가 되고, 반대로 눞혀서 놓을 땐 (n-2) 곳을 채워야하는 문제가 된다. 이를 이용하여 점화식을 세우면 D[i] = D[i - 1] + D[i -2]가 되고 해당 문제를 푸는 방식은 재귀함수를 이용하거나 동적 계획법을 이용하면 풀 수 있다. 하지만, 실험해본 결과 재귀함수를 이용하여 제출하면 시간 초과의 결과가 나온다. 재귀함수를 이용하더라도 메모제이션을 사용한다면 통과할 수 있을 것 같긴하다! 또한 주의해야할 것이 처음의 풀이는 D[i] = D[i - 1] + D[i -2]를 저장하고 나중에 출력할 때 D[n]를 10007로 나누었는데 그렇게 하면 오버플로우가 나는지 오답이라고 뜨니! 저.. 2020. 12. 21.
[C++] 함수에 vector 전달하기 아래와 같이 vector 매개변수로 두어 함수를 호출한 경우 함수 안에서 값을 바꾸더라도 해당 함수가 반환된 이후인 main 함수에서는 영향이 없습니다. #include using namespace std; void func(vector vect) { vect.push_back(30); } int main() { vector vect; vect.push_back(10); vect.push_back(20); func(vect); for (int i=0; i 2020. 4. 8.
[엘리스코딩][python] 도레미 파이썬 I 실력 확인 테스트 부정행위 방지를 위해 내려달라는 엘리스 측의 요청으로, 해당 글을 내리기로 결정하였습니다. 파이썬 코딩 초보자분들에게 참고가 되고자 코드를 직접 작성하여 공유해 드렸지만, 본래의 취지와 달리 단순 복사 붙여넣기의 형태로 오용되는 것이 포착되어 글을 내리게 되었습니다. 그동안 도움이 되었다는 분들에게 감사의 마음 전합니다. +) 가입안하시고 비밀글로 질문하시는 분들, 제가 비밀글로 답변을 단다면 못보십니다... ++) 이메일 주소 주셔도 제가 쓴 코드를 드리는 일은 절대 없습니다. 참고해주세요 추가로 오신 김에 광고 클릭 부탁드립니다 ^^ 광고 클릭은 블로그 운영에 큰 도움이 됩니다. 2019. 12. 12.
[백준][C언어]2217번 로프 가장 중요한 것은 로프를 병렬로 사용할 경우 들 수 있는 무게는 가장 약한 로프에 제한이 걸리게 된다. 예시로 10, 15를 들어 올릴 수 있는 로프가 있어 병렬로 물체를 들어올린다면 들 수 있는 무게의 최대는 한 로프가 중량 10을 최대로 들 수 있고 병렬의 경우 같은 중량이 걸리므로 10 * 2가 된다. 즉, 임의로 몇 개의 로프를 고르는가에 대한 제한은 없지만, 고른 개수를 k라고 할 때 k개의 로프 중 가장 약한 로프 무게가 병렬로 연결된 로프에 걸릴 무게가 되고, 그 무게에 k를 곱한 값이 들어올릴 수 있는 최대 무게가 된다. k 번째로 약한 로프를 구하기 위해 정렬 알고리즘을 사용하였다. 전체 성공 코드 #include #include int comp (const void *a, const v.. 2019. 12. 12.
[백준][JAVA] 1110번 더하기 사이클 이번 코드의 중점은 알고리즘보다 JAVA의 기본 메소드 사용에 익숙해지는 데에 있다. 때문에 모든 언어에서 사용할 수 있는 알고리즘으로 구현한 코드와 JAVA 메소드를 사용한 코드 두가지를 보여주고자 한다. 모든 언어에서 사용할 수 있는 방법은 수학적으로 10의 자리와 1의 자리는 각 num / 10과 num % 10 이다. 즉, 숫자를 10으로 나눴을 때의 몫과 나머지로 나타낼 수 있다. 전체 성공 코드 1. JAVA 메소드를 사용한 방법 import java.util.Scanner; public class Main { public static int sumValue(int N) { String num = String.valueOf(N); int sum_digit = 0; for (int i = 0; .. 2019. 10. 7.
728x90