본문 바로가기

isdigit2

[c++] 문자열 형변환 atoi, stoi, c_str, isdigit "이런" rvalue 상태인 문자열를 숫자로 atoi() 'a' to int 문자열을 문자로 c_str() str()을 char로 문자열을 숫자로 stoi() string to int 숫자인지 확인 isdigit() true / false 리턴 atoi() 와 c_str(), stoi() : 모두 데이터의 형변환에 쓰인다 변환 전 후, 우리가 인식하는 데이터의 값은 같다. 물론 컴퓨터나 프로그램에는 중요하고 필요한 차이다 atoi() : char형을 인자로 받아 int형으로 바꿔준다. 숫자가 아닌 문자나 다른 것일 경우, 변환에 실패하고, 0을 리턴한다. 정상작동 결과인 숫자 0인지 실패 결과인 boolean 값 0인지를 구분하기 위해서 isdigit을 사용하여 숫자여부를 판별가능하다 stoi() : 문.. 2022. 6. 16.
백준 1620/c++ )) 나는야 포켓몬 마스터 이다솜 t 대신 s를 재사용해도 다시 새로 입력 받는거니 문제없다 map 사용 시 value 값으로 key값을 찾는 방법은 없다. 있어도 너무 긴 연산이 필요하여 알고리즘에 부적합하다 그러므로 value값을 key값으로 갖고 key값을 value 값으로 갖는 새 map을 하나 더 만들어서 2개의 map 으로 사용하여 계산하는 것이 해답이다 c_str 과 atoi 를 통해서 문자열을 숫자로 변환하고 그게 가능한지 불가능하면 0를 반환하게 하는 방법이 쓰였다 문자와 숫자가 섞이지 않은 문자열이므로 가능했으며, 첫 단어가 영문자 or 숫자 로 정해져있기에 문자 0과 숫자 0을 구분해줄 isdigit 을 사용할 필요가 없었는 문제였다 굳이 map을 안쓰고 배열로 풀어보려다가 런타임 오류를 해결못해서 다시 map 으로 .. 2022. 6. 15.