강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

시골햄스터님의 프로필 이미지
시골햄스터

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

6. 공주구하기

5-6 공주구하기

작성

·

324

0

import java.util.LinkedList;

import java.util.Queue;

import java.util.Scanner;

public class Main {

public int solution(int n,int m) {

int answer= 0;

Queue<Integer> qu = new LinkedList<>();

for(int i=0; i<n; i++) {

qu.offer(i);

}

while(qu.size()!=1) {

for(int i=0; i<m-1; i++) {

qu.poll();

if(qu.size()==1) { break;

}else{

qu.offer(qu.poll());

}

}

}

answer = qu.peek();

return answer }

public static void main(String[] args) {

Scanner sc =new Scanner(System.in);

Main T = new Main();

int N = sc.nextInt();

int M = sc.nextInt();

System.out.println(T.solution(N,M));

}

}

 

예제를 입력하면 맞다고 나오는데 계속 수정해도 채점 사이트에서는 틀리다고 나와서 어느 부분에서 틀린지 잘모르겠어요 ㅠ.ㅠ

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

return answer 뒤에 세미콜론이 없습니다.

코드 수정해보았습니다.

import java.util.LinkedList;

import java.util.Queue;

import java.util.Scanner;

public class Main {

public int solution(int n,int m) {

int answer= 0;

Queue<Integer> qu = new LinkedList<>();

for(int i=1; i<=n; i++) {

qu.offer(i);

}

while(qu.size()!=1) {

for(int i=0; i<m-1; i++) {

qu.offer(qu.poll());

}

qu.poll();

if(qu.size()==1) break;

}

answer = qu.peek();

return answer; }

public static void main(String[] args) {

Scanner sc =new Scanner(System.in);

Main T = new Main();

int N = sc.nextInt();

int M = sc.nextInt();

System.out.println(T.solution(N,M));

}

}

너무 감사합니다. 좋은강의찍어주셔서 너무 감사합니다!!

시골햄스터님의 프로필 이미지
시골햄스터

작성한 질문수

질문하기