숙제:레벨 2 통과
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
int solution(const char* dirs)
{
int answer = 0;
int map[13][13]= {0};
int map2[13][13][3]= {0};
int i,j,len,x=6,y=6,cnt=0;
len=strlen(dirs);
//////////////////////////////////////////////
for(i=0; i<=12; i++)
{
for(j=0; j<=12; j++)
{
if(i==0||j==0||i==12||j==12)
{
map[i][j]=-1;
}
}
}
//////////////////////////////////////////////
for(i=0; i<len; i++)
{
if(dirs[i]=='U'&&map[x][y+1]!=-1)
{
y++;
if(map2[x][y][1]==0) map[x][y-1]++;
map2[x][y][1]++;
}
else if(dirs[i]=='D'&&map[x][y-1]!=-1)
{
y--;
if(map2[x][y][2]==0) map[x][y+1]++;
map2[x][y][2]++;
}
else if(dirs[i]=='R'&&map[x+1][y]!=-1)
{
x++;
if(map2[x][y][3]==0) map[x-1][y]++;
map2[x][y][3]++;
}
else if(dirs[i]=='L'&&map[x-1][y]!=-1)
{
x--;
if(map2[x][y][4]==0) map[x+1][y]++;
map2[x][y][4]++;
}
}
/////////////////////////////////////////////////
for(i=1; i<=11; i++)
{
for(j=1; j<=11; j++)
{
printf("%d ",map[j][i]);
if(map[i][j]>0)
cnt+=map[i][j];
}
printf("\n");
}
answer=cnt;
return answer;
}