분류 전체보기(68)
-
문자열관련 함수
문자열● C언어는 내부에 문자열 자료형이 없다. (string형)● 문자들의 모임으로 C에서는 문자형 1차원 배열을 사용한다.● 문자열의 끝에 널 종료문자를 사용한다. (배열의 크기는 가장 긴 문자열의 크기보다 1바이트 더 커야 한다.) 문자열 관련 함수 (string.h 헤더파일을 필요로 함)● strlen(str) : 널 종료 문자를 제외한 문자열의 길이를 반환한다.● strcpy(to, from) : from의 내용을 to배열로 복사한다.● strcat(to, from) : from의 내용을 to문자열 뒤에 추가한다.● strcmp(s1, s2) : 두 문자열을 비교하여 같으면 0을 반환한다. - s1이 s2보다 작으면 0보다 작은 값을 반환. - s1이 s2보다 크면 ..
2024.07.24 -
Palindrome
문제설명 길이가 100미만인 문자열이 입력될 때, 해당 문자열이 palindrome(좌우동형)인지 아닌지 검사하라. 먼저 palindrome인지 아닌지 확인하는 class를 작성한다. 문자열 처음부터 절반까지 순회하면서 대칭되는 문자들이 한 번이라도 서로 다르면 0을 return 하고 대칭되는 문자들이 모두 같으면 1을 return한다. 1을 return 받으면 "is a palindrome" 0을 return받으면 "is not a palindrome"을 출력한다.
2024.07.19 -
뒤에 있는 큰 수 찾기
문제설명 정수로 이루어진 배열 numbers가 있다. 배열의 각 원소들에 대해 자신보다 뒤에 있는 숫자 중에서 자신보다 크면서 가장 가까이 있는 수를 뒷 큰수라고 한다.정수 배열 numbers가 매개변수로 주어질 때, 모든 원소에 대한 뒷 큰수들을 차례로 담은 배열을 return 하도록 solution함수를 완성하라. 단, 뒷 큰수가 존재하지 않는 원소는 -1을 담는다. 제한사항 4 1 입출력 예 numbers result[2,3,3,5] [3,5,5,-1][9,1,5,3,6,2] ..
2024.07.19 -
스택
스택은 선형 list에서 자료의 삽입, 제거를 한쪽 끝에서만 이루어지도록 제한한 자료구조이다.가장 나중에 입력된 자료가 가장 먼저 출력되는 방식이다. 스택을 코드로 구현해보겠다. 먼저 스택의 max 크기와 data_type을 정해준 뒤 어디까지 쌓았는지를 나타내주는 변수 Top을 -1로 설정해준다. (아직 아무것도 넣지 않았기 때문) 그 다음 스택이 비어있는지, 모두 차있는지를 확인하는 Empty함수와 Full함수를 구현한다. 스택에 값을넣는 Push함수와 스택에서 값을 빼는 Pop함수를 구현한다.Push때 스택이 모두 차있으면 overflow를 출력하고 아니면 값을 넣는다.Pop때 스택이 모두 비어있으면 underflow를 출력하고 아니면 값을 꺼낸다. 위에 코드에서는 차례대로 스택에 1,2,3을 ..
2024.07.17 -
전기세 구하기
c++을 사용해 전기세를 구하는 프로그램을 만든다. 사용하는 언어가 c++이므로 class를 사용하여 프로그램을 구현하였다. KEPCO라는 클래스 안에 전기요금을 구하는 ElectricCharge함수와 세금을 구하는 TaxCharge함수를 넣는다. class 밖에서 함수를 구현할 때 클래스 범위지정 연산자인 ::를 붙여야한다. => (KEPCO::ElectricCharge)성수기와 비수기를 나눠야 하므로 if문을 사용하여 요금을 다르게 계산한다.사용량 요금에서 원단위 미만은 절사를 해야하므로 floor함수를 이용하여 절사해준다. 세금을 구하는 TaxCharge함수에서는 부가가치세를 원단위 미만 반올림해야하기 때문에 round함수를 사용하였으며 기반요금에서는 10원 미만 절사해야하기 때문에 전기요금..
2024.07.17 -
문자열 나누기
문제 설명 문자열 s가 입력되었을 때 다음 규칙을 따라서 이 문자열을 여러 문자열로 분해하려고 합니다. ● 먼저 첫 글자를 읽습니다. 이 글자를 x라고 합시다.● 이제 이 문자열을 왼쪽에서 오른쪽으로 읽어나가면서, x와 x가 아닌 다른 글자들이 나온 횟수를 각각 셉니다. 처음으로 두 횟수가 같아지는 순간 멈추고, 지금까지 읽은 문자열을 분리합니다.● s에서 분리한 문자열을 빼고 남은 부분에 대해서 이 과정을 반복합니다. 남은 부분이 없다면 종료합니다.● 만약 두 횟수가 다른 상태에서 더 이상 읽을 글자가 없다면, 역시 지금까지 읽은 문자열을 분리하고, 종료합니다. 제한사항● 1● s는 영어 소문자로만 이루어져 있습니다. 입출력 예 s = "banana"인 경우 ba-na-na와 같이 분해됩니다...
2024.07.15