[2주차] 코딩 테스트 합격자 되기 C++ (배열)
·
C++ 코딩테스트 준비
✅ 배열이란?배열은 같은 타입의 원소들을 효율적으로 관리 할 수 있는 기본 자료형이다. 같은 타입의 변수가 여러 개 필요할 경우 자주 사용한다.배열은 하나의 변수 이름으로 동일한 타입의 데이터를 그룹화하여 관리할 수 있고, 인덱스를 사용하여 원하는 데이터에 임의 접근할 수 있다는 장점을 가지고 있다. 1. 배열 선언배열 선언에 대해 알아보자. 더 이해하기 쉽게 코드로 보는게 편할 것 같다.// 배열 내 원소 {1, 2, 3, 4, 5}를 가지며 크기가 5인 배열 선언int arr1[] = {1, 2, 3, 4, 5};// 처음 두 원소만 1, 2로 초기화하고 나머지는 0으로 초기화, 크기는 5int arr2[5] = {1, 2}; // {1, 2, 0, 0, 0}// 배열 내 원소를 모두 0으로 초기화하..
[1주차] 코딩 테스트 합격자 되기 C++ (코딩테스트 문법) - part 2
·
C++ 코딩테스트 준비
2. 코딩테스트 필수 문법✅ 빌트인 데이터 타입C++에서 많이 사용하는 빌트인 데이터 타입은 정수형(int), 부동소수형(float or double), 논리형(bool), 문자형(char)이 있다.그리고 같은 타입의 기본 자료형 변수들을 연속된 메모리에 저장할 수 있는 배열(array)도 있다. 정수형(integer 타입)정수형(int)은 양의정수, 음의 정수, 0을 포함한다. 크기는 보통 4byte이다. 하지만, 32비트, 64비트 시스템으로 나눈다면 64비트 시스템에서는 4byte or 8byte로도 사용된다. 정수형은 더하기, 빼기, 곱하기, 나누기와 같은 사칙 연산을 수행한다. 부동 소수형(float or double)C++에서 부동소수형은 float와 double이 존재한다. 이 둘의 차이점..
[1주차] 코딩 테스트 합격자 되기 C++ (코딩테스트 문법) - part 1
·
C++ 코딩테스트 준비
1. 알고리즘 효율 분석시간 복잡도란?대부분의 코딩테스트를 공부하는 분들이라면 시간복잡도, 공간복잡도에 대해 많이 들어봤을 것이고 이게 무엇인가? 싶을 것이다.나 또한 그랬다... 시간 복잡도란?? 알고리즘의 성능을 나타내는 지표로, 입력 크기에 따른 연산 횟수를 의미한다. 주로 Big O 표기법으로 표현하며, 최악의 경우를 기준으로 분석한다. 시간 복잡도는 낮으면 낮을수록 좋다. 코딩테스트 문제를 풀다 보면 아래처럼 시간제한, 메모리 제한을 본 적이 있을 것이다. (백준에서 가져옴)이것을 보면 "읭? 이게 뭐지?" 싶다. 하지만 이 시간 복잡도를 알아야 어떤 알고리즘에 접근해야 할지 알 수 있다. 보통은 다들 "컴퓨터가 초당 연산할 수 있는 최대 횟수는 1억 번이다."로 알고 있을 것이다.코딩 테스트 ..
항해99클럽 1일 1알고리즘 챌린지 후기
·
항해99 코테
항해99에서 진행하는 1일 1알고리즘 챌린지 후기를 간단히 작성하고자 합니다 ! 1. 스터디를 찾게 된 계기 🔍항상 코테 공부를 하고 싶었지만 다른 할 일도 많고 알고리즘이 어려워 코딩테스트를 중간에 그만두곤 했었습니다. 기존에는 백준 단계별로 풀어보는 식으로 공부를 했었지만 결국은 어려운 문제를 만나게 되며 꾸준히 하지 못했습니다. 그래서 강제성을 부여하고 싶어 항해 99 코테 챌린지를 C++ 미들러로 신청하여 참여하게 되었습니다. 2. 99클럽 참여 경험 🏆약 한 달간 주말을 제외하고 평일 매일 오전 9시에 1일 1문제가 주어집니다. 처음에 신청했던 난이도(비기너, 미들러, 챌린저)에 따라 문제가 주어지는데 문제가 주어지고 1시간 후에는 전체 난이도 문제를 디스코드, 카카오톡 단톡방을 통해 공..
[C++] 99클럽 코테 스터디 19일차 TIL + 김밥천국의 계단 (백준 28069번)
·
항해99 코테
✅ 오늘의 학습 키워드BFS(너비 우선 탐색)✅ 공부한 내용✔️ 문제 요약(백준 문제 링크: https://www.acmicpc.net/problem/28069)민희는 0번째 계단에서 시작하여 N번째 계단에 있는 김밥 가게에 도달하려 한다. 매번 다음의 두 가지 행동 중 하나를 선택할 수 있다.계단 한 칸을 올라간다.현재 i번 계단에서 지팡이를 두드려 i+⌊i/2⌋번 계단으로 순간이동한다.민희는 총 K번 행동할 수 있으며, K번 이하의 행동으로 N번째 계단에 도달할 수 있는지 확인해야 한다. (정확히 K번째 행동에서 N번째 계단에 도달한다고 되있는데 이 정확히를 조심해야 한다. K번째 가아닌 K번 이하의 행동이다.)✔️ 풀이 로직이 문제는 BFS(너비 우선 탐색)를 활용하여 최소 행동 횟수를 구하는 문제..
[C++] 99클럽 코테 스터디 15일차 TIL + 리그 오브 레전설 (Small) (백준 17271번)
·
항해99 코테
✅ 오늘의 학습 키워드다이나믹 프로그래밍(DP)기저 상태(Base case)모듈러 연산(mod)✅ 공부한 내용✔️ 문제 요약(백준 문제 링크: https://www.acmicpc.net/problem/17271)이 문제는 게임에서 두 가지 스킬(A와 B)을 사용하여 N초 동안 싸움을 할 때, 가능한 모든 스킬 조합의 수를 구하는 문제입니다.A 스킬: 시전 시간 1초B 스킬: 시전 시간 M초규칙: 스킬 시전 중에는 다른 스킬을 사용할 수 없고, 스킬을 사용하지 않는 시간이 없어야 함결과는 아주 큰 수가 될 수 있으니 1,000,000,007로 나눈 나머지를 출력해야 한다.✔️ 풀이 로직이 문제는 전형적인 다이나믹 프로그래밍(DP) 문제다. (물론 기저 상태 설정 안해서 못푼...바보..)각 시간에서 가능한..