알고리즘/Java

[백준] 1193번 분수찾기

2023. 2. 11. 19:34

https://www.acmicpc.net/problem/1193

 

1193번: 분수찾기

첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.

www.acmicpc.net

 

 

 

움직임을 x, y 좌표평면으로 표현할 수 있다.

오른쪽 한칸 : y가 1 증가 (0, +1)

아래로 한칸 : x가 1 증가 (+1, 0)

좌하단으로 한 칸 : x가 1 증가, y가 1 감소 (+1, -1)

우상단으로 한칸 : x가 1 감소, y가 1 증가 (-1, +1)

 

시작 위치는 1/1로 (1,1)로 표시할 수 있다. 움직이는 방향을 표시하기 위해 mx, my 변수를 사용하여 위 움직임에 해당하는 값을 대입했다. 처음에는 우상단으로 움직이게 했으며(이를 위해 mx에는 -1, my에는 1을 초기값으로 주었다.)

좌표평면 범위(x>=1, y>=1)를 벗어나면 우상단으로 움직이는 대신 오른쪽으로 이동하도록 했다. 그리고 이 경우 이제 좌하단으로 움직여야 하므로 mx와 my값을 각각 1, -1로 변경했다.

 

이러한 과정을 순서도로 표현하면 아래와 같다.

 

 

 

 

java 코드

더보기
import java.util.*;

public class Main {  
  public static void main(String args[]) { 
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    int x = 1;
    int y = 1;

    int mx = -1;
    int my = 1;

    for(int i=1; i<n; i++) {
      if(mx == -1 && my == 1) {
        x -= 1;
        y += 1;
        if(x<1 || y<1) {
          x += 1;
          mx = 1;
          my = -1;
        }
      } else {
        x += 1;
        y -= 1;
        if(x<1 || y<1) {
          y += 1;
          mx = -1;
          my = 1;
        }
      }
      
    }
    System.out.println(x+"/"+y);
  } 
}

'알고리즘 > Java' 카테고리의 다른 글

[백준] 17299번 오등큰수  (0) 2023.04.09
[백준] 10799번 쇠막대기  (0) 2023.04.07
[백준] 17413 단어 뒤집기 2  (0) 2023.04.07
[프로그래머스] 최대공약수와 최소공배수  (0) 2023.03.25
'알고리즘/Java' 카테고리의 다른 글
  • [백준] 17299번 오등큰수
  • [백준] 10799번 쇠막대기
  • [백준] 17413 단어 뒤집기 2
  • [프로그래머스] 최대공약수와 최소공배수
ewok
ewok
ewok
기록장
ewok
전체
오늘
어제
  • 분류 전체보기
    • 웹개발 교육
      • HTML
      • CSS
      • JavaScript
      • Database
      • Java
      • jQuery
      • Ajax
      • Bootstrap
      • jsp
      • Spring
      • MyBatis
      • 프로젝트
    • JAVA
    • SpringBoot
      • 기초
      • AWS
      • 개인프로젝트
    • Spring Security
    • JPA
    • 테스트코드
    • Error
    • CS
      • 컴퓨터 구조
      • 이산수학
    • 알고리즘
      • 정리
      • Java
    • SQL
    • 자격증
      • SQLD
      • 정보처리기사
    • Git

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • SQLD
  • 생성자
  • branch
  • org.springframework.beans.factory.UnsatisfiedDependencyException
  • 브랜치
  • 노랭이
  • 버전 관리
  • sqld 자격증
  • git bash
  • sqld 합격
  • merge commit
  • this
  • base
  • org.hibernate.tool.schema.spi.CommandAcceptanceException
  • GIT

최근 댓글

최근 글

hELLO · Designed By 정상우.
ewok
[백준] 1193번 분수찾기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.