Data is ___ !
[C++] 분할구현
Programming/C++ 2025. 6. 3. 01:08

분할구현을 설명하기에 앞서, 만약 main() 함수 밖에 Test()라는 함수를 선언하면, main() 함수 내에서 이를 사용할 수 있다. 이때 선언되는 위치가 매우매우 중요한데 Test() 함수를 main() 함수 뒤에 선언하면 "컴파일 오류"(문법적 오류)가 발생한다. 이때 누군가가 '나는 main() 함수를 위에서 보고 싶어!' 라고 했을 때 함수를 뒤에 구현해도 오류가 발생하지 않는 방법은 없을까 ?-> 있지요. 바로 Test() 함수를 main() 함수 위에서 "선언만" 해놓고 main() 함수 뒤에 구현하는 것이다. 단, 여기서 주의해야 할 점은 main() 함수 뒤에서 구현도 하지 않는다면 컴파일 오류는 발생하지 않지만 "링크 단계"에서 오류가 발생하니 주의하자. (링크 단계란, 쉽게 말해 ..

[C++] 변수의 종류, 메모리 영역
Programming/C++ 2025. 6. 3. 00:44

변수의 종류 지역변수 int main(){ int g_iLocal = 100; return 0;}1) 정의 스택 영역에 저장되는 변수 (즉, main(), Test(), ... 함수 안에서 선언된 변수)함수 내에서 선언되어 해당 함수에서만 사용할 수 있는 변수 2) 특징 main() 함수 내에서 `int i = 0;`을 정의했다면 Test() 함수에서 사용이 불가하다. 하지만 Test() 함수에서 `int i = 0;`를 정의해도 오류가 발생하지 않으며 다른 역할로 사용할 수 있다. 함수가 반환/종료되면 메모리에서 사라진다. 전역변수 int g_iGlobal = 100;int main(){ return 0;}1) 정의 데이터 영역에 저장되는 변수 (즉, main() 함수 밖에서 선언된 변수) 해당 파..

[C++] 구조체
Programming/C++ 2025. 6. 3. 00:23

구조체란 ? "사용자 정의 자료형"을 말한다. int, float, char 등 이미 정의되어 있는 자료형을 사용할 수도 있지만 여러 가지 자료형이 합쳐진 나만의 자료형을 만들어 사용할 수도 있다. 선언 방식과 사용법은 아래 코드와 같다. typedef : type을 재정의한다. struct : 구조체를 선언한다. typedef struct _tagMyST{ int a; float f;}MYST;typedef struct _tagBig{ MYST k; int i; char c;}BIG;int main(){ MYST t = {100, 3.14f}; //8byte t.a = 10; //값 변경도 가능 t.f = 10.2312f; int iSize =..

[코드트리] 삼성 SW 역량테스트 | 2017년 상반기 오전 1번 | 테트리스 블럭 안의 합 최대화하기
Programming/CodingTest 2025. 6. 1. 23:59

https://www.codetree.ai/ko/frequent-problems/samsung-sw/problems/max-sum-of-tetris-block/description 코딩테스트 기출 문제 설명: 테트리스 블럭 안의 합 최대화 하기 | 코드트리코딩테스트 기출 문제 테트리스 블럭 안의 합 최대화 하기의 상세 설명입니다. 문제 요구사항을 정확히 파악하고 효율적인 알고리즘을 설계해보세요.www.codetree.ai 문제유형 : 시뮬레이션난이도 : L12정답률 : 48% 풀이 방법 코드N, M = map(int, input().split())board = []for _ in range(N): board.append(list(map(int, input().split())))max_sum = 0..

[코드트리] 삼성 SW 역량테스트 | 2016년 하반기 1번 | 정육면체 굴리기
Programming/CodingTest 2025. 6. 1. 23:55

https://www.codetree.ai/ko/frequent-problems/samsung-sw/problems/cube-rounding/description 코딩테스트 기출 문제 설명: 정육면체 굴리기 | 코드트리코딩테스트 기출 문제 정육면체 굴리기의 상세 설명입니다. 문제 요구사항을 정확히 파악하고 효율적인 알고리즘을 설계해보세요.www.codetree.ai 문제유형 : 시뮬레이션난이도 : L12정답률 : 63% 풀이 방법 코드n, m, x, y, k = map(int, input().split())board = []for _ in range(n): board.append(list(map(int, input().split())))direction = list(map(int, input()...

[코드트리] 삼성 SW 역량테스트 | 2015 하반기 1번 | 바이러스 검사
Programming/CodingTest 2025. 6. 1. 23:50

https://www.codetree.ai/ko/frequent-problems/samsung-sw/problems/virus-detector/description 코딩테스트 기출 문제 설명: 바이러스 검사 | 코드트리코딩테스트 기출 문제 바이러스 검사의 상세 설명입니다. 문제 요구사항을 정확히 파악하고 효율적인 알고리즘을 설계해보세요.www.codetree.ai 문제유형 : Basic난이도 : L4정답률 : 35% 풀이 방법 코드# 1. 입력받기n = int(input())people = list(map(int, input().split()))a, b = map(int, input().split())# 2. 검사자 수 구하기result = 0for p in people: rest = p - a..

[C++] 배열
Programming/C++ 2025. 6. 1. 22:19

(작성중) int iArray[10] = { };iArray[4] = 10;길이 10을 가진 빈 배열을 선언한다. 즉, int형 변수 10개를 한번에 배열로 선언해 메모리 상에 4byte짜리 int가 연속적으로 메모리 구조가 잡혀있다. { }가 비어있으면 0으로 초기화된다. 인덱스4 (다섯번째 자리)에 10을 넣는다. 여기서 주의할 점은!! 인덱스 접근을 잘못하면 다른 변수 값에 침범할 수도 있다. 예를 들어 `iArray[12] = 10;`이라고 한다면 오류가 나지 않고 앞에서 선언한 iValue의 값이 10으로 바뀔 수 있으므로 무조건 주의할 것

[C++] 반복문(for, while) | 함수(w/ 재귀함수)
Programming/C++ 2025. 6. 1. 22:13

반복문종류`for (반복자 초기화 ; 반복자 조건 체크 ; 반복자 변경)` 반복자 초기화 -> `while (반복자 조건 체크)` -> 반복자 변경탈출 `continue` : 아래 부분 수행하지 않고 변경파트로 바로 넘어가기 `break` : 반복문 끝내기for (int i = 0; i int i = 0;while (i 함수기본함수함수의 수행 순서는 스택 자료구조와 비슷하다. 후입선출 방식으로 가장 나중에 호출된 함수가 가장 먼저 종료된다. 따라서 함수들이 사용하는 메모리 영역을 "스택 메모리 영역"이라고도 부른다. 또한 main 함수가 생성되는 순간 정의된 변수를 바탕으로 메모리를 얼만큼 쓸지 미리 알고 잡아둔다. 단, 코드 명령어와 메모리 공간은 다르다 !! (main 함수 안에 또 다른 ..

[C++] 입출력
Programming/C++ 2025. 6. 1. 21:47

#include //1. printf : 콘솔창에 출력한다.printf("abcdef %d \n", 10); //정수printf("abcedf %f \n", 3.14); //실수//2. scanf : 콘솔창으로부터 입력 받는다. int iInput = 0;scanf_s("%d", &iInput);

[C++] 연산자 (w/ if-else, switch, define)
Programming/C++ 2025. 6. 1. 00:11

대입 연산자 종류 : = 산술 연산자 종류 : +, -, *, /(몫), %(나머지) int data = 10 + 10;data = 10/3; //정수/정수, 정수%정수 -> 가능 data = 10.%3.; //실수%실수, 실수%정수, 정수%실수 -> 오류 data = 10./3.; //실수/실수 -> 가능하지만 data type이 int이므로 정수로 표현되고 경고 표시 data = (int)(10./3.); //데이터 타입을 명시적으로 변환// 숫자 뒤에 f를 붙일 경우, float(4byte) 실수로 보겠다는 것// 숫자 뒤에 f를 붙이지 않을 경우, double(8byte) 실수로 보겠다는 것 증감 연산자 종류 : ++, -- 특징 : 한 단계 증가 또는 ..

profile on loading

Loading...