Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++

  1. C++로 구현하는 대소문자 교차 문자열 정렬 알고리즘

    문자열(string)은 문자(character)들의 배열입니다. 이 문제는 문자열의 요소들을 대문자와 소문자가 번갈아 나타나도록 정렬하는 것입니다. 문제 설명 — 대소문자 교차 문자열 정렬(Alternate Lower Upper String Sort)은 대소문자가 뒤섞여 있는 정렬되지 않은 문자열이 주어졌을 때, 대문자와 소문자가 서로 교차하는 위치에 배치되면서 각각 알파벳 순으로 정렬된 상태를 유지하도록 문자열을 재배열하는 문제입니다. 구체적인 예시를 통해 문제를 더 쉽게 이해해 보겠습니다. 입력 : aFegrAfStRzsV 출

  2. C++ 단일 연결 리스트에서 홀수·짝수 노드 교차 재배치하기

    단일 연결 리스트란?단일 연결 리스트(singly linked list)는 각 노드가 데이터와 다음 노드를 가리키는 포인터 두 부분으로 구성된 선형 자료구조입니다.홀수·짝수 교차 연결 리스트(alternate odd and even singly linked list)는 짝수 데이터를 가진 노드와 홀수 데이터를 가진 노드가 번갈아 배치되어 있는 연결 리스트를 의미합니다.이 문제에서는 주어진 단일 연결 리스트의 원소들을 재배치하여 이러한 형태를 만들어야 하며, 재배치 방식에는 두 가지가 있습니다.첫 번째 원소가 짝수인 경우: 두 번째

  3. C++로 구현하는 연결 리스트 교차 정렬(Alternate Sort)

    연결 리스트란?연결 리스트(linked list)는 요소들을 순차적으로 저장하면서, 각 노드가 다음 데이터 노드를 가리키는 포인터까지 함께 보관하는 선형 자료구조입니다.교차 정렬(Alternate Sort)이란?연결 리스트 정렬 문제에서 교차 정렬은 최솟값과 최댓값을 번갈아 배치하는 정렬 방식을 의미합니다. 즉, 첫 번째 노드에는 가장 작은 값, 두 번째 노드에는 가장 큰 값, 세 번째 노드에는 두 번째로 작은 값, 네 번째 노드에는 두 번째로 큰 값을 배치하는 식으로 진행됩니다.예시를 통해 문제를 더 쉽게 이해해 보겠습니다.입력

  4. C++ 교차 정렬(Alternate Sort) 알고리즘 구현 방법

    교차 정렬(Alternate Sort)이란? 교차 정렬은 정수 배열의 요소들을 최댓값과 최솟값이 번갈아 배치되는 형태로 재정렬하는 기법입니다. 구체적인 배치 규칙은 다음과 같습니다. 첫 번째 요소 : 배열의 최댓값 두 번째 요소 : 배열의 최솟값 세 번째 요소 : 두 번째로 작은 값 네 번째 요소 : 두 번째로 큰 값 이후에도 같은 패턴이 끝까지 반복됩니다. 예시를 통해 개념을 더 쉽게 이해해 보겠습니다. 입력 : 4 1 8 2 9 3 7 출력 : 9 1 8 2 7 3 4 설명 : 배열을 오름차순으로 정렬하면 1 2 3 4 7

  5. C++로 정사각형의 외접원 넓이 구하기

    이 문제에서는 정사각형의 한 변의 길이가 주어졌을 때, 해당 정사각형의 외접원 넓이를 계산하는 방법을 다룹니다. 본격적으로 풀이에 들어가기 전에, 기본 개념을 먼저 정리하고 시작하겠습니다.기본 개념 정리정사각형(Square) : 네 변의 길이가 모두 같은 사각형입니다.외접원(Circumscribed Circle) : 다각형의 모든 꼭짓점에 접하는 원을 의미합니다.넓이(Area) : 어떤 2차원 도형이 차지하는 크기를 수치로 나타낸 값입니다.공식 유도하기정사각형의 외접원 넓이를 구하려면 먼저 원과 정사각형의 요소들 사이의 관계를 찾아

  6. C++로 계산하는 주어진 변의 길이를 가진 n변 정다각형의 면적

    이 문제에서는 주어진 변의 길이를 가지는 n변 정다각형의 면적을 구하기 위해 공식을 직접 유도하고, 이를 바탕으로 C++ 프로그램을 작성해 보겠습니다. 그 전에 기본 개념부터 간단히 짚고 넘어가면 주제를 훨씬 쉽게 이해할 수 있습니다.기본 개념n변 정다각형(regular polygon)이란 모든 변의 길이와 모든 내각의 크기가 같은 n개의 변을 가진 다각형을 말합니다. 대표적인 예로 정오각형, 정육각형 등이 있습니다.면적(area)은 어떤 2차원 도형이 차지하는 크기를 수치로 나타낸 값입니다.면적 공식 유도하기정다각형의 중심에서 인

  7. C++로 정렬된 n개의 꼭짓점을 가진 다각형의 넓이 구하기

    이 프로그램에서는 다각형의 넓이를 구하는 것이 목표입니다. 다각형을 이루는 각 꼭짓점의 좌표가 주어지며, 이 좌표들을 이용해 넓이를 계산하게 됩니다. 본격적인 내용에 들어가기에 앞서, 뒤에서 설명할 개념을 더 쉽게 이해할 수 있도록 기본 용어부터 간단히 정리하고 시작하겠습니다. 기본 개념 정리 넓이(면적)란 2차원 도형이 차지하는 크기를 수치로 나타낸 값입니다. 다각형(Polygon)은 주어진 개수의 변으로 둘러싸인 닫힌 도형을 의미합니다. 꼭짓점의 좌표는 2차원 평면 위에 있는 점의 위치 값을 말합니다. 예를 들어 (0, 0)처럼

  8. C++로 주어진 조건에 따라 배열을 합이 같은 두 부분으로 나누는 방법

    이번 글에서는 흥미로운 배열 분할 문제를 살펴보겠습니다. 하나의 배열 arr가 주어졌을 때, 이 배열을 아래 조건을 모두 만족하는 두 부분으로 나눌 수 있는지 판단해야 합니다.두 하위 배열의 합이 서로 같아야 합니다.5의 배수인 모든 요소는 반드시 같은 그룹에 속해야 합니다.3의 배수이면서 5의 배수가 아닌 모든 요소도 반드시 같은 그룹에 속해야 합니다.그 외의 나머지 요소들은 어느 쪽 그룹에든 자유롭게 배치할 수 있습니다.예를 들어 배열의 요소가 {1, 4, 3}이라고 가정해 보겠습니다. {1, 3}의 합이 {4}의 합과 동일하고

  9. C++로 k번 이어 붙인 이진 문자열에서 최대 연속 0의 개수 구하기

    문제 정의 길이가 n인 이진(binary) 문자열과 정수 k가 주어집니다. 이진 문자열을 k번 반복해 이어 붙인(concatenate) 새로운 문자열을 만든 뒤, 그 안에서 연속된 0의 최대 개수를 구하는 것이 이 문제의 목표입니다. 예를 들어 이진 문자열이 0010010이고 k = 2라고 가정해 보겠습니다. 문자열을 두 번 이어 붙이면 00100100010010이 되며, 이 문자열에서 연속된 0의 최대 길이는 3입니다. 해결 아이디어 접근 방법은 의외로 간단합니다. 문자열을 실제로 k번 복제하지 않아도, 원본 문자열만 분석하면

  10. C++에서 N개 미지수 정수의 곱으로 만들 수 있는 최대 GCD 구하기

    문제 개요 두 정수 N과 P가 주어졌다고 가정해 봅시다. 여기서 P는 N개의 알 수 없는 정수들의 곱입니다. 우리가 구해야 하는 값은 바로 이 정수들의 최대공약수(GCD)입니다. 동일한 곱 P를 만들어내는 정수 조합은 여러 가지가 존재할 수 있으며, 가능한 모든 조합을 고려했을 때 가장 큰 GCD를 찾아야 합니다. 예를 들어 N = 3, P = 24인 경우를 살펴보겠습니다. 가능한 조합으로는 {1, 1, 24}, {1, 2, 12}, {1, 3, 8}, {1, 4, 6}, {2, 2, 6}, {2, 3, 4} 등이 있습니다. 각

  11. C++에서 주어진 행렬을 대각 행렬로 변환하는 프로그램

    n×n 크기의 행렬이 주어졌을 때, 어떤 형태의 행렬이든 대각 행렬로 변환하는 것이 이 글의 목표입니다. 변환 원리부터 C++ 전체 예제 코드, 실행 결과까지 단계별로 살펴보겠습니다. 대각 행렬이란? 대각 행렬은 n×n 정방행렬 중에서 주대각선(main diagonal)을 제외한 모든 원소가 0인 행렬을 의미합니다. 반면 대각선 위의 원소들은 어떤 값이든 가질 수 있습니다. 아래는 비대각선 원소를 0으로 바꾸는 과정을 나타낸 그림입니다. $$\begin{bmatrix}1 & 2 & 3 \\4 & 5 &

  12. C++에서 킬로바이트(KB)를 바이트와 비트로 변환하는 프로그램

    킬로바이트(Kilobytes) 값이 입력으로 주어졌을 때, 이를 바이트(Bytes)와 비트(Bits) 단위로 변환하는 것이 이 프로그램의 목표입니다. 비트(Bit)란 무엇인가? 컴퓨터에서 비트(bit)는 가장 작은 데이터 단위로, 0과 1이라는 두 개의 정수 값으로 표현됩니다. 컴퓨터가 처리하는 모든 정보는 결국 이 두 숫자의 나열(시퀀스) 형태로 저장되고 처리됩니다. N비트는 2N개의 패턴을 표현할 수 있으며, 여기서 N은 1부터 시작하는 임의의 정수입니다. 바이트(Byte)란 무엇인가? 컴퓨터에서 바이트(byte)는 8개의

  13. C++로 IP 주소를 16진수로 변환하는 방법 완벽 가이드

    IP 주소 값을 입력으로 받아 해당 IP 주소를 16진수(hexadecimal) 형태로 변환하여 표현하는 것이 이 프로그램의 목표입니다.IP 주소란 무엇인가?IP 주소(Internet Protocol Address)는 네트워크에 연결된 하드웨어를 고유하게 식별하는 고유한 번호입니다. 인터넷(Internet)은 네트워크를 의미하고, 프로토콜(Protocol)은 연결을 위해 반드시 준수해야 하는 규칙과 규정의 집합을 정의합니다. 바로 IP 주소가 있기 때문에 시스템 간에 네트워크를 통한 통신이 가능해집니다.IP에는 두 가지 버전이 존재

  14. C++로 2진수를 10진수로 변환하는 프로그램 구현하기

    2진수(binary number)가 입력으로 주어졌을 때, 이를 10진수(decimal number)로 변환하는 것이 이 글의 목표입니다.2진수와 10진수의 개념컴퓨터에서 10진수는 밑(base)이 10인 숫자 체계로, 0부터 9까지의 숫자로 표현됩니다. 반면 2진수는 밑이 2인 숫자 체계로, 0과 1이라는 두 개의 비트만 사용하여 수를 나타냅니다.2진수를 10진수로 변환하는 원리2진수를 10진수로 변환하려면 다음과 같은 절차를 따릅니다. 먼저 가장 오른쪽 자릿수부터 왼쪽 방향으로 각 자릿수를 하나씩 추출합니다. 그런 다음 각 자릿

  15. C++에서 10진수를 2진수로 변환하는 프로그램 만들기

    개요10진수(decimal) 숫자 하나가 입력으로 주어졌을 때, 이를 2진수(binary) 형태로 변환하는 것이 이 글의 목표입니다.컴퓨터에서 10진수는 밑(base)이 10인 수 체계로 표현되며, 0~9 사이의 임의의 숫자를 사용할 수 있습니다. 반면 2진수는 밑이 2인 수 체계로, 오직 0과 1 두 개의 비트만으로 모든 값을 표현합니다. 컴퓨터 내부의 모든 데이터는 결국 0과 1로 처리되기 때문에, 10진수를 2진수로 변환하는 방법은 프로그래밍의 가장 기본적인 개념 중 하나입니다.변환 절차10진수를 2진수로 바꾸려면 아래 단계를

  16. C++에서 10진수를 16진수로 변환하는 프로그램

    10진수가 입력으로 주어졌을 때, 이를 16진수로 변환하는 것이 목표입니다. 이 글에서는 변환 원리와 단계별 알고리즘, 그리고 실제 동작하는 C++ 코드까지 차근차근 살펴보겠습니다.10진수와 16진수의 기본 개념컴퓨터에서 16진수는 밑수(base) 16으로 표현되며, 10진수는 밑수 10으로 표현됩니다. 10진수는 0부터 9까지의 숫자만 사용하는 반면, 16진수는 0부터 15까지의 값을 사용합니다. 이때 10은 A, 11은 B, 12는 C, 13은 D, 14는 E, 15는 F라는 문자로 표기합니다.10진수를 16진수로 변환하는 단계

  17. C++로 화씨(℉)를 켈빈(K)으로 변환하는 프로그램 작성하기

    이 글에서는 화씨(Fahrenheit) 단위의 온도 값 n이 주어졌을 때, 이를 켈빈(Kelvin) 단위로 변환하여 출력하는 C++ 프로그램을 다룹니다.예시입력 1-: 549.96 출력 -: 화씨 549.96도는 켈빈으로 : 561.256K 입력 2-: 23.45 출력 -: 화씨 23.45도는 켈빈으로 : 268.4K변환 공식화씨 온도를 켈빈 온도로 변환하려면 아래 공식을 사용합니다.K = 273.5 + ((F - 32.0) × (5.0 / 9.0))여기서 K는 켈빈 온도, F는 화씨 온도를 의미합니다. 참고로 절대온도인 켈빈은 물

  18. C++에서 8진수를 10진수로 변환하는 프로그램 – 원리부터 예제 코드까지

    8진수가 입력으로 주어졌을 때, 이를 10진수로 변환하는 것이 이 글의 목표입니다.컴퓨터에서 10진수(decimal)는 밑(base)이 10인 수 체계로, 0부터 9까지의 숫자로 표현됩니다. 반면 8진수(octal)는 밑이 8인 수 체계로, 0부터 7까지만의 숫자를 사용합니다.8진수를 10진수로 변환하는 단계숫자의 오른쪽 끝자리부터 왼쪽으로 한 자리씩 추출하고, 각 자릿수에 0부터 시작하여 (자릿수 개수 − 1)까지 1씩 증가하는 거듭제곱을 곱합니다.8진수는 밑이 8이므로, 거듭제곱의 밑도 8을 사용합니다.입력 숫자의 각 자릿수에

  19. 배열의 비토닉성(Bitonicity)을 계산하는 C++ 프로그램

    정수형 배열이 주어졌을 때, 함수를 활용하여 해당 배열의 비토닉성(Bitonicity)을 계산하는 것이 목표입니다. 배열의 비토닉성이란? 배열의 비토닉성은 다음 규칙에 따라 정의됩니다. 초기값은 0으로 설정합니다. 다음 요소가 이전 요소보다 크면 1씩 증가시킵니다. 다음 요소가 이전 요소보다 작으면 1씩 감소시킵니다. 예시 입력: arr[] = { 1,4,3,5,2,9,10,11} 출력: 배열의 비토닉성 : 3 동작 설명 비토닉성을 계산할 변수 temp를 0으로 초기화합니다. 배열의 첫 번째 요소부터 시작해 arr[i]와 ar

  20. C++로 16진수를 10진수로 변환하는 프로그램

    16진수가 입력으로 주어졌을 때, 이를 10진수로 변환하는 것이 과제입니다. 컴퓨터에서 16진수는 밑(base)이 16인 수 체계이며, 10진수는 밑이 10인 수 체계로 0부터 9까지의 값으로 표현됩니다. 반면 16진수는 0부터 15까지의 숫자를 사용하는데, 여기서 10은 A, 11은 B, 12는 C, 13은 D, 14는 E, 15는 F로 표현됩니다. 16진수를 10진수로 변환하려면 다음 단계를 따르면 됩니다. 오른쪽에서 왼쪽으로 자릿수를 하나씩 추출한 뒤, 각 자릿수에 0부터 시작하여 (자릿수 개수 - 1)까지 1씩 증가하는

Total 5981 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:78/300  20-컴퓨터/Page Goto:1 72 73 74 75 76 77 78 79 80 81 82 83 84