널 종단 문자열2 [백준 1541/c++] 잃어버린 괄호 문제를 이해하지 못하고 조건을 설정해서 괄호문자를 넣으려 했다가 실패했다 생각보다 조건이 까다로웠기 때문이다. 하지만 내가 직접 괄호를 넣어서 새 문자열을 만들라는 말이 아니라 결과만 최소가 되도록 괄호를 사용한 "것처럼" 만들면 되는 것이었다 그렇다면 어떤 결과가 최소가 되는 결과일까? 첫 -가 나온 후로 +는 괄호로 묶어서 모두 -로 뺄셈 처리가 되도록 하면 된다 하나씩 문자를 세며 기호가 나왔다면 ' -' 가 처음 나오기 전의 수였다면 결과에 양수로 그대로 더해주고 첫 ' - ' 이후에 나온 +나 - 등의 모든 기호는 앞의 수여도 이미 그 수 전에 -가 있으므로 결과에 -처리를 시킨다 마지막 요소로 쓸 숫자를 세기 위해서 숫자의 끝에도 기호로 세서 판단할 것이 있어야 하는데 string 의 끝에는 .. 2022. 6. 24. Null-terminated string 널 종단 문자열 Null 비어있음 + terminated string 끝내는 문자열 말그대로 null 을 써서 끝내는 문자열을 뜻한다 문자 인코딩 방법으로 ASCII (아스키 코드)를 사용하는 경우의 문자열을 표현할때 문자열은 각각의 영어 문자를 아스키코드에 매칭시켜서 메모리에 배열로 저장한다 문자열이 끝나면 이 뒤로 이상 뒤로 올 문자(=배열 값)이 없다는 것을 나타내기 위해서 문자열을 매칭, 변환한 마지막 아스키코드의 다음에 null을 써주어 이 뒤로 값이 없다는 것을 표현한다 null 의 아스키코드 는 0인데 이것을 숫자 0과 구분하기 위해서 이스케이프 문자 \0 으로 표현한다 이렇듯 아스키코드를 사용한 인코딩 문자열에서 메모리에 저장 시 문자열이 끝났음을 표현하기 위해 문자를 저장할 수 있는 1byte의 메모리에.. 2022. 5. 19. 이전 1 다음