🫒해야 할 일
(9월 13일)
1. 코드 자세히~ ⭕️
2. 설명 준비 ⭕️
3. 과제 코드리뷰하기
4.원스탑튜터 ⭕️
+ clion 라이선스 체크하기
+ ⭐️다음 강의 자료만들기
이제 대면강의다~!~!~!~!응앙
아 아니엇음 줌이었다
괜히 옷 예쁘게 입고 갔네
👩🏻🏫 준비 👩🏻🏫
오늘은 보조 주차이므로 구현 문제 하나를 준비하면 된다.
#include<iostream>
#include<string>
#include<vector> //pair
using namespace std;
typedef pair<char, char> cc; //pair<char, char> -> cc
cc move(string input, char x, char y) {//이동 함수 x : 열, y : 행
for (char how : input) {
if (how == 'R') {
x++;
}
else if (how == 'L') {
x--;
}
else if (how == 'B') {
y--;
}
else {//T
y++;
}
}
return { x, y };
}
bool checkRange(cc position) { //범위 체크 하는 함수
if (position.first < 'A' || position.first > 'H' || position.second < '1' || position.second > '8') {
return false;
}
return true;
}
bool isSame(cc k, cc s) {
return (k.first == s.first && k.second == s.second);
}
/*
* HINT : 문자형 변수의 연산은 비교적 자유로워요! 또 킹과 돌의 움직임이 모두 판 안에서 이뤄질 때만 다음으로 움직일 수 있는 점을 신경써주세요!
* 1. king 이동 (move)
* 2. king과 stone의 위치 동일 -> stone 이동 (move)
* 3. king과 stone의 위치 점검 (checkRange
*/
int main() {
cc k, s; //king, stone
int n;
string input;
//입력
cin >> k.first >> k.second >> s.first >> s.second >> n;
//연산
while (n--) {
cin >> input;
cc next_k, next_s;//이동 후 위치 저장할 변수
//king 이동
next_k = move(input, k.first, k.second);
//stone 이동
if (isSame(next_k,s)) {//돌 위치와 겹치면
next_s = move(input, s.first, s.second);
}
else {
next_s = s;
}
//범위 체크
if (checkRange(next_k) && checkRange(next_s)){//이동한 king과 stone가 유효 범위면 최종적으로 이동
k = next_k;
s = next_s;
}
}
//출력
cout << k.first << k.second <<'\n'<< s.first << s.second ;
return 0;
}
👩🏻🏫 강의 👩🏻🏫
끝에 30분 정도만 하면 된다
이제 좀 익숙해진 듯
👩🏻🏫 코드리뷰 👩🏻🏫
**브루트 포스- 구현 문제 리뷰 완료!**
많이 제명되셨네..
감사합니다...ㅎㅎ
'✨ Club|Project > 알튜비튜 e-class 튜터 | Algorithm' 카테고리의 다른 글
✳️ EPPER ✳️ - 대회 감독 (0) | 2023.09.24 |
---|---|
✳️원스탑튜터✳️ - 장학금 냠냠 (0) | 2023.09.22 |
❇️ 알튜비튜 ❇️ - 2번째 강의 - 수 (0) | 2023.08.31 |
❇️ 알튜비튜 ❇️ - 1번째 강의 - 금 (2) | 2023.08.25 |
❇️ 알튜비튜 ❇️ - 8월 2주차 회의 (0) | 2023.08.12 |