개인적인 풀이이니 참고만 하시길 바랍니다.
건설적인 비판과 의견은 대환영입니다 :)
문제
[S/W 문제해결 기본] 5일차 - Magnetic
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14hwZqABsCFAYD
위 문제는 특정 조건을 이해한 단순 구현 문제이다. (유식하게 표현하는 방법이 있다면 댓글로 알려주세요 !)
크게 어렵지 않았으며 N극(빨간색)을 먼저 발견한 다음 S극(파란색)을 발견한 경우만 result ++ 해주었다.
(내 알고리즘 실력이 늘어서 빨리 푼게 아니라 문제가 쉬웠던거다.. 착각하고 교만하지말자 ㅜ)
코드
#include<iostream>
using namespace std;
int main(int argc, char** argv)
{
int test_case;
int T = 10;
for (test_case = 1; test_case <= T; ++test_case)
{
int mp[100][100];
int N;
int res = 0;
cin >> N;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
cin >> mp[i][j];
}
}
for (int i = 0; i < N; i++) {
int j = 0;
int cur = 0;
while (j < N) {
if (mp[j][i] == 1) { //빨강 발견
cur = 1;
}
else if (cur == 1 && mp[j][i] == 2) { // 빨강일때 파랑발견
res++;
cur = 2;
}
j++;
}
}
cout << "#" << test_case << " " << res << endl;
}
return 0;
}
반응형
'algo' 카테고리의 다른 글
SWEA(SW Expert Academy) string C++ (0) | 2021.09.17 |
---|---|
SW Expert Academy 균형점 C++ (0) | 2021.09.15 |
samsung sw academy 최대상금 문제 C++ (0) | 2021.09.15 |