본문 바로가기

전체 글20

[C/C++] 정수를 뒤집는 5가지 방법 목표는 간단하다. 입력 받은 정수를 거꾸로 뒤집은 정수를 출력하면 된다. 물론 뒤집었을 때 0으로 시작하는 경우는 0을 출력하지 않는다. 입력 예 1024 출력 예 4201 입력 예 12300 출력 예 321 1. 문자열 변환 후 뒤집고 정수 변환 (C++ 스타일) 가장 직관적이고, 단순한 방법이다. string 타입을 사용한다. 문자열로 변환하기 위해서는 to_string 함수를, 정수로 변환하기 위해서는 atoi 함수를 쓴다. atoi 함수는 원래 에 들어 있으나 웬만한 라이브러리에 이미 include 되어 있다. #include #include using namespace std; int rev(int n) { string s = to_string(n); reverse(s.begin(), s.end.. 2019. 6. 2.
[주관적인 화성학] 6. 조성 주의: 이 시리즈는 독자적으로 화성학을 연구하며 알게 된 것들을 바탕으로, 실제 화성학 이론을 주관적으로 해석한 내용입니다. 정식 화성학 이론과는 다를 수 있습니다. 코드의 필수적인 구성요소는 근음(빵), 5음(치즈) 그리고 3음(소스)이라 했다. 말이 나온 김에, 친구가 반례로 소스가 없는 피자를 찾았는데, 고르곤졸라 피자는 빵과 치즈만 있고 소스가 없다. 꿀이 소스고 소스를 찍어먹는 거라고 반박하면 할말이 없긴 한데, 그냥 예외로 보고, 앞으로도 3음은 계속 소스에 비유하기로 하자. 이번 편에서는 조성의 본질에 대해 설명해 보려고 한다. 과정은 복잡할 수 있는데, 결론이 굉장히 중요하다. 7음계에서 '도' 찾기 7음계의 '도레미파솔라시'의 인접한 두 음 사이의 간격은 온-온-반-온-온-온-반 이라고 .. 2019. 3. 19.
[주관적인 화성학] 5. 코드의 구성 주의: 이 시리즈는 독자적으로 화성학을 연구하며 알게 된 것들을 바탕으로, 실제 화성학 이론을 주관적으로 해석한 내용입니다. 정식 화성학 이론과는 다를 수 있습니다. 코드(chord)는 3개 이상의 음이 동시에 들리는 것을 말한다. 난 이 정의를 좀더 엄격하게 하고 싶다. 코드의 필수 요소 내가 생각하는 코드는 다음과 같은 조건을 만족해야 한다. 근음이 있어야 한다. 5음이 있어야 한다. 3음이 있어야 한다. 근음은 코드의 뿌리가 되는 음이다. 코드의 구성 음 중 알맞게 하나를 고르면 그게 근음이다.5음이란, 근음에서 5도만큼 올라간 음을 이야기한다. 단, 증5도(단6도와 같음), 감5도(TT)도 특별히 5도로 인정한다. 3음이란, 근음에서 장3도 또는 단3도만큼 올라간 음을 말한다. 단, 감3도(장2도.. 2019. 3. 18.
[주관적인 화성학] 4. 세 가지 화성학 주의: 이 시리즈는 독자적으로 화성학을 연구하며 알게 된 것들을 바탕으로, 실제 화성학 이론을 주관적으로 해석한 내용입니다. 정식 화성학 이론과는 다를 수 있습니다. 사실 장르별로 화성을 쓰는 방법이 좀 다르기 때문에, 그냥 화성학이라고만 하면 안 되고, 나는 크게 세 장르로 세분화하고 싶다. 클래식 화성학 클래식 화성학은 어렵다. 이 분야는 내가 잘 모르지만, 음악 자체가 현대 음악에서 중시되는 코드+멜로디 중심이 아니란 건 대부분 동의할 수 있을 거 같다. 대신 개개의 음들이 어떻게 합쳐졌을 때 어떤 효과를 내느냐에 중점을 두고 있는 듯하다. (최소한 바로크, 고전 음악은 그렇다.) 이런 종류의 음악을 들어보면 많은 부분이 작곡가의 개성과 창의성에 좌우된다. 그만큼 이 분야는 연구하기 힘들다. 팝 화.. 2019. 3. 16.
[주관적인 화성학] 3. 음정 주의: 이 시리즈는 독자적으로 화성학을 연구하며 알게 된 것들을 바탕으로, 실제 화성학 이론을 주관적으로 해석한 내용입니다. 정식 화성학 이론과는 다를 수 있습니다. 음정이란 음의 간격을 말한다. "음정이 같다"는 얘기는, "음정을 구성하는 두 음 사이의 반음 개수가 같다"는 것이고, 동시에 "두 음 사이의 진동수 비가 같다"는 얘기다. 예를 들어 도-솔 사이에는 7개의 반음이 있고, 미-시 사이에도 7개의 반음이 있으므로 이 둘 사이의 음정은 같다. 그리고 진동수 비는 도:솔 = 미:시 = 2:3이다. 어떤 곡을 분석할 때 절대적인 음정(진동수가 몇인지, 또는 어느 피아노 건반인지)보다 중요한 것은, 으뜸음을 기준으로 이 음이 몇 반음 떨어져있냐(으뜸음과의 음정이 무엇이냐)가 훨씬 중요하다. 또, 코드.. 2019. 3. 15.