250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 융프라우 스위스 패스
- 대학생
- 로이커바트 숙소
- 피르스트 자전거
- 그린델발트 자전거
- 백준
- 16236 c++
- 시뮬레이션
- openai api
- 군인
- C++
- auto code review
- 오리스프
- 군대코딩
- 백준으로 c++ 공부하기
- 백준으로 C++ 공부
- 24524
- 로이커바트
- Replit
- 프랑스 남부 섬
- 1654
- 백준 C++
- C++ 공부
- 군대
- 그린델발트 캠핑장
- iles dHyeres
- 알고리즘
- 코딩
- porquerolles
- C++ 공부하기
Archives
- Today
- Total
기억보다는 기록을 해볼까
C++ 공부 18일차 (1012, 1541, 5525 (미완성)) 본문
728x90
오늘 공부한 백준
1012, 1541, 5525 (미완성)
1012
DFS!!!!
for(int i = 1; i <= n; i++){
for(int j = 1; j <= m; j++){
if(vst[i][j] == 0 && map[i][j] == 1){
cnt++;
//bfs
queue<pair<int, int>> q;
vst[i][j] = 1;
q.push({i, j});
while(!q.empty()){
auto [cy, cx] = q.front();
q.pop();
vst[cy][cx] = 1;
for(int d = 0; d < 4; d++){
int ny = cy+dy[d], nx = cx+dx[d];
if(ny < 1 || ny > n || nx < 1 || nx > m) continue;
if(vst[ny][nx] == 0 && map[ny][nx] == 1){
vst[ny][nx] = 1;
q.push({ny, nx});
}
}
}
}
}
}
1541
문자열 파싱
for(int i = 0; i < str.size(); i++){
if(str[i] == '-' || str[i] == '+'){
if(minus == true){
sum -= tmp;
tmp = 0;
}
else {
sum += tmp;
tmp = 0;
}
if(str[i] == '-'){
minus = true;
}
}
else {
tmp *= 10; //previous number
tmp += str[i] - '0'; //current number renewal
if(i == str.size() - 1){
if(minus == true) sum -= tmp;
else sum += tmp;
}
}
}
728x90
'백준으로 C++ 공부하기' 카테고리의 다른 글
C++ 공부 20일차 (1780) (0) | 2021.11.11 |
---|---|
C++ 공부 19일차 (5525) (0) | 2021.11.10 |
C++ 공부 17일차 (9461, 11399, 11659, 11726, 11727) (0) | 2021.11.08 |
C++ 공부 16일차 (2606, 2630, 9095, 9375) (0) | 2021.11.07 |
C++ 공부 15일차 (11723, 1003, 1463, 17626, 2579) (0) | 2021.11.06 |
Comments