
지그재그 규칙으로 2차원 배열에 분수들이 존재한다.또한 홀수번 째 대각선이냐, 짝수번 째 대각선이냐에 따라서 분자, 분모의 규칙도 달라진다.따라서 우선은 몇 번째 대각선에 속하는 지를 알아야한다.이를 위해서 입력받은 x 에서 차례대로 1,2,3,,,l을 빼주며 언제 x

정답률이 낮길래 풀어봤다.근데 낮은 이유가 있었다.사실 문제 처음 봤을때는 입력이 매우 크길래 overflow 관련 함정이 있는 문제인 줄 알았는데 시간복잡도 관련 문제였다.입력 값이 매우 크므로 일반적인 반복문을 활용한 풀이로는 시간안에 답을 구할 수 없다.이렇게 반

10진법 -> n진법으로 변환하는 문제이다.(1) 10진법 -> n진법 변환법 알기(2) 나머지가 10보다 크면 문자로 출력하기(3) 문자를 출력해야하니 -> string 사용이렇게 3개가 이 문제의 핵심이다.우선, 10진법 -> n진법은 아래와 같이 변환한다.쉽게

2차원 배열 풀이 완료~!char 자료형은 참 신기하게도, 2가지 모습을 가진다.'a' 도 char 97 도 둘다 char 자료형 이다.또한 둘은 정확히 동일하다.'a' 는 표면적인 형태이고, char 97 은 내부적인 형태로 생각하면 된다.코드에 'a'라고 되있더라도

B 진법 수를 입력받아서 10진수로 출력하는 문제이다.이 문제의 핵심은(1) B 진법 -> 10진법 계산을 위한 누적 방식(2) char가 문자인지 숫자 인지 확인이다.왜 틀렸나 했는데, 바보같이 지수 연산자를 ^로 착각했다.C++ 에서 ^는 비트 xor 이다. 나는

이 문제는 어찌저찌 맞긴했지만, 내 풀이가 매우 매우 매우 매우 매우 매우 매우 매우 매우 비효율적이었을 뿐더러 배운 것도 매우 많은 문제였기에 가져와봤다.이 문제의 핵심은어떻게 공백(사실은 공백이 아니지만) 을 처리할 것 이냐?이다.실행하면 정답 처리가 되긴하나 문제

심화 1을 풀이 완료했다.어떤 기법을 어떤 문제에 적용해야할지 판단하는 능력이 중요한것같다.개강전까지 시간 복잡도 전까지 풀어야하는데, 열심히 해야겠다.개강하고 시간 복잡도 바로 들어가야한다.

문제가 길지만, 결국 학점을 계산하는 문제이다.A+,A0,B+,,,D0,F,P 등의 학점을 어떻게 숫자에 매핑시킬지가 관건이다.(또한 자료형을 double을 써야한다. 평균 내야하므로)숫자의 규칙성을 기반으로 풀이했다.예를들어 4.5-'B'-'A' 를 하면 3.5 가

그룹 단어의 개수를 출력하는 문제이다.핵심은 문자열을 순회하며, 직전 문자와 동일하지 않은데 이미 과거에 등장했던 문자가 등장하는 경우 를 찾아내는 것이다.이게 처음 나의 풀이이다. (사실 진짜 처음 풀이에서는 매 단어마다 배열을 0으로 초기화하는것을 깜빡해서 틀렸었

단어를 입력받아서 단어를 이루는 크로아티아 알파벳의 갯수를 카운트하는 문제이다.주의해야할 점은(1) 크로아티아 알파벳이 중복으로 있을 수 있다.는 것이다.우선 크로아티아 알파벳으로 인식되는 문자열을 배열에 저장해둔다.이후, 입력값을 받아서 s.find(s1)으로 배열에

FreeRTOS API의 설명을 확인하는 방법은 (1) 소스코드 확인(2) Reference Manual 확인이렇게 2가지 방법이 존재한다.기능이 궁금한 API 에 우클릭 -> open declaration 으로 api의 기능을 확인한다FreeRTOS 공식 Refere

CMSIS-RTOS V1은 ARM이 만든 RTOS 표준 인터페이스(API) 이다.어느 RTOS든 CMSIS-RTOS 를 기반으로 구현한다.(3rd party RTOS들은 전부 CMSIS-RTOS의 구현체이다)개발자들 입장에서는 결국 CMSIS-RTOS API를 사용하든

주어진 단어를 입력받아서 가장 많이 나온 문자를 출력하는 문제이다.이 문제의 핵심은알파벳은 총 26개이다. (소문자 26개, 대문자 26개)입력이 소/대문자 섞여서 등장하니 소문자 or 대문자로 통일시키기배열의 데이터로 각 알파벳의 등장 횟수 카운트하기몇 번째 알파벳

다이아몬드 형태로 별을 찍는 문제이다.다이아몬드가 대칭임을 이용해 절댓값을 반환하는 <iostream\\> 헤더의 함수인 abs()를 활용해서 반복 조건을 구성했다.이런 문제는 절반을 넘어가면 규칙이 바뀌기에 구간을 나눠서 풀어주는 것이 좋다.구간은 0~N, 0~

앞서 풀어봤던 문제와 비슷하게 입력을 몇 줄 주는지 나와있지않다.이런 문제에선 항상 "그럼 언제 반복을 중지해야하는가?"에 대한 고민이 생긴다.이는 EOF()를 체크하는 문제이다.앞서 (cin >> a >> b).eof() 또는 while(c >> a >> b)와 같은

다이얼을 돌릴때 걸리는 총 시간을 구하는 문제이다.1을 누를때 2초가 걸리고, 숫자가 1씩 증가할때 마다 걸리는 시간도 1씩 증가한다.또한 주요 특징으로 A,B,C,,,,MNO 까지는 3개의 알파벳을 단위로 숫자가 정해지는데, P~Z 까지는 4개,3개, 4개 단위로 숫

두 개의 수를 입력받고, 역순으로 바꿔서 둘 중 더큰 숫자를 출력하는 문제이다.reverse(s.begin(), s.end())를 사용하기위해 두 숫자를 공백 기준으로 string으로 입력 받았다.이후 reverse()를 각각 취해주고 stoi()로 int로 변환한 다

처음에 어떻게 풀지 막막했었는데 어찌저찌 풀긴 풀었다.우선, 테스트 케이스 수, 반복 횟수, 문자열을 입력받는다.이후 문자열의 각 인덱스에 해당하는 문자에 대하여 입력받은 횟수 만큼 반복을 수행하고 total에 +로 문자열을 이어붙인다.이렇게 반복이 완료된 문자열을 완

풀다보니 매우 좋은 풀이가 있어서 가져와봤다.나는 이렇게 풀었다.fill() 로 배열을 -1로 초기화하고, 문자열을 순회하며 값이 -1인 인덱스의 요소를 문자열에서 등장 위치로 설정했다.(아스키코드를 활용해 char를 int로 변환했다)지금 보면 굳이 안써도되는 배열과