따닥따닥 붙어있는것 입력(교안, 23page)
253
작성한 질문수 18
입력을
4 4
1000
0000
0111
0000
로 하면,
cin >> n >> m;
for(int i = 0; i <n ; i++){
cin >> s;
}
로 알려주셨는데.. 이게 어떻게 저걸 받아들이는건가요?
앞에
int n,m;
string s;
가 있다고 해도 너무 이상해서요..
그리고 뒤에 scanf로 받는거랑 둘중 뭐가 더 좋다 안좋다는 없을까요? (그전에는 뭐가 이왕이면 더 좋다는식으로 써주셧길래 문의드려요)
답변 2
0
정말 감사합니다! :)
'0' 을 배는 이유는 아스키코드표의 0이 0x80 이니 그만큼을 빼서 진짜 숫자 0으로 만들어 주시는거군요
취미쟁이에게 너무 좋은 강의입니다 감사합니다!
0
안녕하세요. ㅎㅎ
1111 등을 하나의 문자열로 받아서
for char : s
이런식으로 문자열을 문자로 분해해서 처리한다는 의미입니다.
교안에 해당 부분을 추가 및 수정했는데요. 다음과 같습니다.
cin으로 받을 때는 개행문자(띄어쓰기, 한줄띄기)까지 받을 수 있다라는 것을 기억해주세요.
#include<bits/stdc++.h>
using namespace std;
int n, m, a[10][10];
string s;
int main(){
cin >> n >> m;
for(int i = 0; i < n; i++){
cin >> s;
for(int j = 0; j < m; j++){
a[i][j] = s[j] - '0';
}
}
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
cout << a[i][j];
}
cout << '\n';
}
}
/*
4 4
1000
0000
0111
0000
1000
0000
0111
0000
*/
위의 코드처럼 문자열 s를 받아 문자열을 문자로 분해(s[j]) 해서 형변환 s[j] - ‘0’을 통해 숫자를 int형 배열인 a[i][j] 배열에 넣는 것을 볼 수 있습니다.
음.. 좋다 안좋다는 없습니다. 여러가지 해보시고 본인이 편한 방식으로 하시면 됩니다.
저는 개인적으로 cin이 편해요.
감사합니다.
1-E질문입니다!
0
529
2
3-L 틀린 부분 피드백 부탁드립니다.
0
833
2
1-A문제 순열재귀함수 질문입니다.
0
396
1
1-A 일곱난쟁이문제입니다
0
465
1
문제 풀 때 방향성에 대해
0
808
1
맥에서 vs code로 실행 관련 질문입니다
0
528
1
17071번 메모리 초과
0
388
1
1-C질문입니다!
0
427
2
2-B BFS 시간초과질문
0
636
2
1-O 13번 라인
0
445
1
6-J 놀이공원 문제 질문
0
386
1
구현관련 질문
0
487
1
강의 교안
0
321
1
실력을 더 올리고나서 강의를 보는 것이 맞을까요?
0
549
1
안녕하세요! 재귀함수에 관해서 질문드립니다
0
538
1
1-K
0
481
2
3-G번 질문있습니다.
1
478
3
3-C 실행 시간 질문드립니다.
0
500
1
4-A 문제 풀이 질문있습니다.
0
598
2
비트마스킹 연산자 "1의 보수" 영문 표기법
0
441
1
격자탐색 문제에서 BFS 시간복잡도 질문드립니다.
0
344
1
3-O go 함수 질문 드립니다.
1
450
2
4-A 출력 질문
0
306
1
1주차 1-O 질문드립니다
0
262
1





