본문 바로가기

Posts

(20)
[프로그래머스] 유연근무제 프로그래머스 문제를 풀다가 조건을 정리해서 제출했지만 결과는 실패였습니다.원인을 되짚어보며 다시는 같은 실수를 반복하지 않도록 정리합니다.1. 문제 잘 보자1. 변수 startday를 기준으로 1주일 검사해야 함문제의 조건을 정리해서 제출했지만 틀림. → 문제의 조건을 제대로 정리가 안된 것 같다.변수 startday를 기준으로 1주일을 체크해야 함예: startday가 금요일(5)이면 → 금, 토, 일, 월, 화, 수, 목 순서로 검사해야 한다.2. 시간 계산에서 발생한 실수08:50 + 10분 = 09:00이 되어야 함하지만 0850 + 10 = 0860처럼 계산하면 시각이 잘못됨2. 처음 제출했던 틀린 코드#include #include using namespace std;int solution(v..
[백준 16594, C++] 최대, 최소 비용 구하기(그리디) 0. 문제 선택실버~골드 구간 문제를 랜덤으로 풀던 중, 백준 16594 문제가 나왔다. 1. 문제1.1 문제 요약N개의 정수가 주어지고, 이를 M개의 집합으로 나눈다. 각 집합의 최솟값을 비용이라고 할 때, 전체 집합의 비용 합의 최솟값과 최댓값을 구하는 문제이다.조건 1: 각 집합의 크기 차이는 1 이하여야 한다.조건 2: N 조건 3: N에 포함된 정수값 Ai는 중복된 값일 수 있다.조건 4: N, M, Ai의 범위 확인2. 풀이 방법각 집합의 합으로 최솟값과 최댓값을 구해야 하니, 정렬을 해야겠다고 생각했다.// 입력값7 31 2 3 4 5 6 7 1. 오름차순으로 정렬된 배열을 앞쪽 M개의 수를 선택하여 각 집합에 하나씩 배치하면, 이 값들이 각 그룹의 최솟값이 되므로 최소 비용이 된다.예) 최..
[C++] 시간 줄이기 1. ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
[백준 10989] 카운팅 정렬 구현, 시간 초과 문제 #include #define MAX 10001using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N, input; int arr[MAX] = { 0 }; cin >> N; for (int i = 0; i > input; arr[input]++; } for (int i = 0; i
[C++] 최대 최소값 구하기 (주의점) 최대, 최소를 이렇게 구할 수 있음.. #include using namespace std;int main() { int input; int number; int min_num = 0; int max_num = 0; bool first = true; cin >> input; for (int i = 0; i > number; if (first == true) { min_num = number; max_num = number; first = false; } if (max_num number) min_num = number; } cout  아래의..
[C++] precision 절대오차, 상대오차 #include using namespace std;int main() { double A, B; cin >> A >> B; cout.precision(10); cout std::cout.precision(10);이 코드 없으면  절대오차 또는 상대오차에 영향 있을 수 있음 std::ios_base::precision - cppreference.com
[C++] printf (string 사용) 주의 #include #include using namespace std;int main() { int input; int result = 1; int output[10] = { 0 }; for (int i = 0; i > input; result *= input; } // printf("result >> %d\n", result); string str = to_string(result); // printf("%s\n", str); // printf 함수는 c 언어 출력 함수로 c++의 std::string 타입을 처리할 수 없음, %s 지정자는 c스타일 문자열(null로 종료되는 'char' 배열)을 생각하고 있음 // 따라서 string 객체를 %s로 출력하려고 하면 메모리 주소를 문자열로 잘못 해석..
[Python] 양방향 연결리스트 구현 class Node: def __init__(self, data): self.data = data self.prev = None self.next = None class DoublyLinkedList: def __init__(self): self.head = None self.tail = None def add(self, data): new_node = Node(data) if self.head is None: # 비어있는 노드일 때 self.head = new_node self.tail = new_node #new_node.prev = self.head #new_node.next = self.tail else: # 비어있는 노드가 아닐 때 new_node.prev = self.tail # 1. 새로운 ..