본문 바로가기

Computer Science117

[PS] 별 찍기 모음 1. 별 찍기 -1 입력받은 N까지 반복하며 순차적으로 *을 출력하는 것이다. 해당 과정은 for문을 통해 반복된다. 변수 i와 j를 두었는데, 변수 j의 경우 별을 입력하는 코드이고 변수 i의 경우 이러한 코드를 몇 번 반복할지 정하는 코드이다. j번 *을 출력하고 개행문자를 통해 줄 바꿈을 하고, 이를 반복한다고 정리하면 될 듯! 2. 별 찍기 -2 위의 문제와 다른 점은 입력 초반 부분에 공백이 있느냐 없느냐의 차이이다. 변수 k를 두어 공백을 입력하기 위한 코드를 작성했다. 예를 들어 N이 5인 상태에서 k=0이고 k 2023. 12. 24.
[자료구조] Chapter 08 해시 테이블 해시 테이블의 개요1) 해시해시란? 데이터를 입력받아 완전히 다른 모습의 데이터로 바꾸는 작업이다. 해시는 다양한 목적으로 사용되지만 주로 아래의 용도로 사용된다. 해시 테이블 해시 테이블은 데이터의 해시값을 테이블 내 주소로 이용하는 탐색 알고리즘이다. 암호화 해싱은 원본 데이터를 다른 모습으로 바꿔둔다. 헤싱은 같은 데이터에 대해 같은 결과를 출력하지만 다른 데이터의 경우 다른 결과를 출력하는 특징이 있다. 데이터 축약 해시는 길이가 서로 다른 입력 데이터에 대해 일정한 길이의 출력을 만든다. 이러한 특성을 이용해서 커다란 데이터를 해시하면 짧은 길이로 축약할 수 있다. 2) 해시 테이블예를 들어, 원본 데이터 123817을 해시 함수 과정을 거치면 테이블 내의 주소값인 3819로 바꿀 수 있다. 즉.. 2023. 12. 19.
[PS] 15552. 빠른 A+B 1) 문제: 15552. 빠른 A+B 2) 나의 첫 풀이 ios::sync_with_stdio(0); 함수란? 기본적으로 C++ 표준 라이브러리는 C 스타일의 입출력 함수(printf, scanf)와 C++ 스타일의 입출력 스트림(cout, cin)을 동기화한다. 해당 라이브러리는 편리하지만, 입출력 속도가 중요한 경우에는 성능 저하를 일으킬 수 있다는 문제점이 존재한다. 하지만, ios::sync_with_stdio(0);는 C++ 표준 입출력 스트림과 C 입출력 함수를 동기화하지 않도록 한다. 즉, C++의 cin, cout 등을 사용할 때 내부적으로 C 입출력 버퍼와 동기화하지 않게 되어 빠른 입출력을 가능하게 한다. cin.tie(0); 란? cin.tie(0);는 C++ 스타일의 입출력 스트림을.. 2023. 12. 19.
[PS] 10804. 카드 역배치 1) 문제: 10804. 카드 역배치 2) 나의 첫 풀이 sort() 함수를 사용해야겠다..? 이정도..? 감이 잡히지 않아 바킹독의 힌트를 보았고 reverse 함수를 사용하면 되겠구나! 생각했다. reverse 함수란? reverse(first, last); reverse 함수는 algorithm 라이브러리의 포함되어있으며 의미 그대로 거꾸로 뒤집는 동작을 하는데, 해당 범위의 해당하는 원소들의 배열, 문자열 등의 요소들을 거꾸로 뒤집는다. 헤더 : [first, last) first를 포함한 인덱스부터 last 바로 전 인덱스까지의 요소들을 거꾸로 뒤집는다. 중요한 건, '인덱스'를 집어넣어야 한다는 것. 배열의 경우 reverse(a, a+5); //a배열의 처음부터 끝까지 뒤집음 (a[5] 배열.. 2023. 12. 18.
[PS] 1267. 핸드폰 요금 1) 문제: 1267. 핸드폰 요금 2) 나의 첫 풀이 phone 배열을 지정해두고 차례로 입력받는다. 전체 비용을 구하고 해당 비용을 Y요금제로 적용한 경우와 M요금제로 적용한 경우를 구해 비교한다. int main() { int N, Y = 0, M = 0, time[10], sum = 0; if(N N; for(int i=0; i> time[i]; sum += time[i]; } Y += ((sum/30)+1)*10; M += ((sum/60)+1)*15; if(Y>M){ cout 2023. 12. 17.
반응형