작성
·
278
·
수정됨
0
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
1~2주차 에서 세문제가 백준에 계속 질문해도 뚜렷한 해결방법이 안나와서 질문드립니다ㅠㅠ
//1620 시간초과
int main(){
int a,b;
cin>>a>>b;
string arr[100000];
for(int i=0;i<a;i++){
cin>>arr[i];
}
for(int i=0;i<b;i++){
string s;
cin>>s;
if(s[0]<65){
int p=stoi(s);
cout<<arr[p-1]<<endl;
}
else{
for(int j=0;j<a;j++){
if(s==arr[j]) cout<<j+1<<endl;
}
}
}
return 0;
}
//4659 출력형식이 잘못되었습니다
bool go(char p){
if(p=='a'||p=='e'||p=='o'||p=='i'||p=='u') return 1;
return 0;}
int main(){
string s;
while(1){
cin>>s;
if(s=="end") break;
int a=0;
int b=0;
int c=0;
for(int i=0;i<s.size();i++){
if(go(s[i])==1) a++;
if(i>1&&go(s[i])==go(s[i-1])&&go(s[i-1])==go(s[i-2])) b++;
if(i>0&&s[i]!='e'&&s[i]!='o'&&s[i]==s[i-1]) c++;
}
if(a>0&&b==0&&c==0) cout<<"<"<<s<<"> is acceptable."<<endl;
else cout<<"<"<<s<<"> is not acceptable."<<endl;
}
return 0;}
//1189 메모리 초과
int dx[4]={0,1,0,-1};
int dy[4]={-1,0,1,0};//
bool visited[5][5]={0,};//
int x,y,m,n,k;
char arr[6][6]={0,};
int sum=0;
int dfs(int q,int w){
if(q==0&&w==m-1){
if(visited[q][w]==k) sum++;
return 0;
}
for(int i=0;i<4;i++){
y=q+dy[i];
x=w+dx[i];
if(y < 0 || x < 0 || y >=n || x >= m) continue;
if(!visited[y][x]&&arr[y][x]!='T'){
dfs(y,x);
visited[y][x]=visited[q][w]+1;
visited[q][w]=0;
}
}
return 0;
}
int main(){
cin>>n>>m>>k;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>arr[i][j];//
}
}
visited[n-1][0]=1;
dfs(n-1,0);
cout<<sum<<endl;
return 0;
}
답변 1
0
안녕하세요 kim님ㅎㅎ
1620
문제를 잠깐볼까요?
N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수
자, 그러면 이 코드의 시간복잡도는 얼마일까요? b, a루프 합쳐서.
for(int i=0;i<b;i++){
string s;
cin>>s;
if(s[0]<65){
int p=stoi(s);
cout<<arr[p-1]<<endl;
}
else{
for(int j=0;j<a;j++){
4659
제가 지금 보기에는 맞는 것같습니다. 제가 아래의 글을 남겼는데 해당 내용 참고해서 다시 부탁드립니다.
1189
dfs(y,x);
visited[y][x]=visited[q][w]+1;
visited[q][w]=0;
이 코드요.
dfs를 하고 visited를 거는게 맞을까요?
kim님 솔직히 이렇게 올려주시면 제가 디버깅하기가 너무 어렵습니다...
kim님이 제출하신 코드 있죠?
백준 - 문제 - 내제출탭에 보면 코드 오른쪽 아래에 공유하기 버튼이 있는데 그 버튼을 클릭하셔서 위 3가지 문제에 대한 링크 부탁드립니다.
참고로 해당 내용은 "0주차 - 질문하는 법"에 설명되어있습니다. 해당 강의 참고해주셔서 다음부터는 그렇게 올려주세요.
감사합니다.