전체 글

    programmers / level.2 / 최솟값 만들기(C++)

    https://school.programmers.co.kr/learn/courses/30/lessons/12941 문제 설명 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다.배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.) 예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면 A에서 첫번째 숫자인 1, B에서 첫번째 숫자인 5를 뽑아 곱하여 더합니다. (누적된 값 : 0 + 5(1x5) = 5) A에서 두..

    programmers / level.2 / 연습문제 : JadenCase 문자열 만들기(C++)

    https://school.programmers.co.kr/learn/courses/30/lessons/12951 문제 풀이 단어를 구분하는 조건을 잘 파악하는 게 중요한 문제였다. 나는 현재 문자가 공백이고 다음 문자가 공백이 아니면 단어가 종료되었다고 판단했다. 다른 사람의 풀이를 보니 현재 문자가 공백이 아니고 이전 문자가 공백이면 단어의 첫 글자라고 판단했다. 나는 종료 조건을 판단했고 다른 사람은 시작 조건을 판단했다. 이 문제는 단어의 첫 알파벳 문자를 대문자로 바꾸고 나머지는 소문자로 바꾸는 문제였으므로 시작 조건을 판단하는 게 더 괜찮았을 거라고 생각한다. 또한 tolower, toupper 함수를 사용하면 더 간단한 문제이다. 나는 이 함수를 사용하지 않고 풀었다. 내 풀이 #includ..

    programmers / level.2 / 연습문제 : 최댓값과 최솟값 (c++)

    문제 설명 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. 제한 조건 s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. 입출력 예 s return "1 2 3 4" "1 4" "-1 -2 -3 -4" "-4 -1" "-1 -1" "-1 -1" 내 해답 #include #include using namespace std; string solution(string s) { string answer = ""; string str_cur{}..

    [BOJ2606] 바이러스 - C++ 풀이

    [BOJ2606] 바이러스 - C++ 풀이

    #include #include #include using namespace std; // 2606 바이러스 int main() { ios::sync_with_stdio(0); cin.tie(0); int iComputerCount, iPairCount = 0; int counter = 0; cin >> iComputerCount >> iPairCount; vector vecNetworks(iPairCount, vector(2, 0));// row-PairCount, col-2 vector vecVirus(iComputerCount, 0); for (int i = 0; i > a >> b; vecNetworks[i][0] = a; vecNe..

    C/C++ 매크로 연산 오류 해결하기 (E0075, C2100)

    C/C++ 매크로 연산 오류 해결하기 (E0075, C2100)

    오늘도 평화로운 코딩 중 갑자기 어이가 없는 문제가 발생합니다. [문제 상황] m_vLookAt은 float 변수 2개가 들어있는 구조체입니다. DS는 float을 반환하는 함수 매크로입니다. 그리고 200.f는 float타입 데이터입니다. 즉, float += float * float 형식의 연산에서 '*' 연산자를 곱하기가 아닌 포인터 연산자로 인식하는 문제가 발생한 것입니다. [해결과정] 비슷한 상황에서도 같은 문제들이 발생하는지 확인해봅시다. - 상황 1 : float += float * float 형식의 연산에서 '*' 연산자가 곱하기 연산자로 잘 작동하나? 역시 문제없이 잘 작동합니다. - 상황 2: m_vLookAt += float * float 형식의 연산에서 '*' 연산자가 곱하기 연산자..