강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

yeon _leaf님의 프로필 이미지
yeon _leaf

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

2-E와 분할정복(Divide & Conquer)

2-E string 변환 관련 질문입니다.

작성

·

476

0

http://boj.kr/2542b28a9bec4124a70ea89129f2293c

선생님 코드처럼 string(1, a[y][x]) 이런 식으로 문자열로 변환하면

(( (  ))(  )( ))

이런 식으로 문자열이 깨져서 to_string(a[y][x])로 바꿔서 통과한 상태입니다.

제 코드에서 string(1, a[y][x])이 작동하지 않는 이유가 무엇인지 궁금합니다.

 

답변 2

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요. yeon님 ㅎㅎ

oort님이 잘 설명해주셨는데요. ㅎㅎ

해당 부분 적용한 코드는 다음과 같습니다.

http://boj.kr/8a8c89b34c494987aa0a4a26e27b9374

 

또 질문 있으시면 언제든지 질문 부탁드립니다.

감사합니다.

강사 큰돌 올림.

 

yeon _leaf님의 프로필 이미지
yeon _leaf
질문자

넵 답변 감사합니다!!

0

참고 사이트 : https://cplusplus.com/reference/string/string/string/
char 형이 들어가야 원하는 문자가 출력이 되는데 int형이 들어가서 그렇습니다.

참고 사이트 6번이 해당 코드에서 사용하는 기능입니다.
string(size_t n, char c)
n : c의 개수
c : 문자열에 채우고 싶은 문자
1 만큼 c를 채워 리턴 하는 코드인데
int형이 들어가면 자동으로 아스키 코드로 변환이 됩니다.
0은 공백이라 출력이 안되고 1은 아스키 코드상 헤더 시작점 이라고 하는데 문자열이 깨진것 처럼 출력되는 이유는 컴파일러 별로 상이해서 그런 것이 아닌가 싶습니다.

string(size_t n, char c) 을 사용해서 코드를 완성 시키려면 문자가 대입되게 변경해야 합니다

yeon _leaf님의 프로필 이미지
yeon _leaf
질문자

처음에 int로 변환해서 입력을 받았기 때문에 string() 함수를 사용할 수 없었던 것이었네요.

상세한 답변 감사합니다!

 

yeon _leaf님의 프로필 이미지
yeon _leaf

작성한 질문수

질문하기