You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 사다리 타기 코딩 on Google, you do not find the information you need! Here are the best content compiled and compiled by the toplist.Experience-Porthcawl.com team, along with other related topics such as: 사다리 타기 코딩 c언어 사다리타기, 사다리타기 프로그램, 사다리타기 그리기, c언어 사다리타기 알고리즘, Spring 사다리 타기, 사다리 타기 최소 가로줄, 사다리게임, 사다리타기 온라인
사다리 타기 코딩
- Article author: brunch.co.kr
- Reviews from users: 28466 Ratings
- Top rated: 4.8
- Lowest rated: 1
- Summary of article content: Articles about 사다리 타기 코딩 토요일 아침에 이렇게 건전한 목적으로 아빠들이 모여 코딩 관련 열띤 토론의 모습을 생각 … 이번 숙제는 스크래치로 사다리 타기 프로그램 만들기 1. …
- Most searched keywords: Whether you are looking for 사다리 타기 코딩 토요일 아침에 이렇게 건전한 목적으로 아빠들이 모여 코딩 관련 열띤 토론의 모습을 생각 … 이번 숙제는 스크래치로 사다리 타기 프로그램 만들기 1. 메모리에 저장해서 갈 것인가 아니면 센서로 찾아갈 것인가? | 10월 아빠들의 코딩 모임을 동탄 토즈에서 진행했다. 4명의 아빠들… 토요일 아침에 이렇게 건전한 목적으로 아빠들이 모여 코딩 관련 열띤 토론의 모습을 생각하면 모임이 끝난 후 왠지 스스로 대견하다 생각하며 씨익 웃게 만든다. 이번 숙제는 스크래치로 사다리 타기 프로그램 만들기 1. 랜덤 하게 사다리를 긋기 2. 화살표가 길 따라가기 따식님이 위 동
- Table of Contents:
TDD, Clean Code with Java – 미션3, 사다리 후기
- Article author: loopstudy.tistory.com
- Reviews from users: 42517 Ratings
- Top rated: 4.2
- Lowest rated: 1
- Summary of article content: Articles about TDD, Clean Code with Java – 미션3, 사다리 후기 이번 사다리타기는 예상보다 빨리 진행되었다 … 스트림과 람다 방식이 익숙해지고 예전 코딩 스타일은 이제 어색해졌다. …
- Most searched keywords: Whether you are looking for TDD, Clean Code with Java – 미션3, 사다리 후기 이번 사다리타기는 예상보다 빨리 진행되었다 … 스트림과 람다 방식이 익숙해지고 예전 코딩 스타일은 이제 어색해졌다. 클린코드를 위한 TDD, 리팩토링 with Java edu.nextstep.camp 경험해야할 학습 목표 자바8의 스트림, 람다를 사용해 함수형 프로그래밍하는 경험 In -> Out, Out -> In 방식으로 도메인 객체를 설계하는 경험 책임..
- Table of Contents:
개발 공부할래
TDD Clean Code with Java – 미션3 사다리 후기 본문
경험해야할 학습 목표
경험할 객체지향 생활 체조 원칙
[자바] 사다리 타기 게임 소스코드
- Article author: bundaegi.tistory.com
- Reviews from users: 33323 Ratings
- Top rated: 3.8
- Lowest rated: 1
- Summary of article content: Articles about [자바] 사다리 타기 게임 소스코드 코딩/자바. [자바] 사다리 타기 게임 소스코드. 매콤한 번데기탕 2020. 9 … …
- Most searched keywords: Whether you are looking for [자바] 사다리 타기 게임 소스코드 코딩/자바. [자바] 사다리 타기 게임 소스코드. 매콤한 번데기탕 2020. 9 … import java.util.*; public class RedrawLadder2 { Scanner scan = new Scanner(System.in); PeopleNumber pn = new PeopleNumber(); DrawLadder dl = new DrawLadder(); Random random = new Random(); String..
- Table of Contents:
[백준] 2469. 문자열_사다리타기 – Python
- Article author: westernriver.tistory.com
- Reviews from users: 10612 Ratings
- Top rated: 3.4
- Lowest rated: 1
- Summary of article content: Articles about [백준] 2469. 문자열_사다리타기 – Python 문제. k명의 참가자들이 사다리 타기를 통하여 어떤 순서를 결정한다. 참가자들은 알파벳 대문자 첫 k개로 표현되며, 사다리 타기를 시작할 때의 순서 … …
- Most searched keywords: Whether you are looking for [백준] 2469. 문자열_사다리타기 – Python 문제. k명의 참가자들이 사다리 타기를 통하여 어떤 순서를 결정한다. 참가자들은 알파벳 대문자 첫 k개로 표현되며, 사다리 타기를 시작할 때의 순서 … 문제 k명의 참가자들이 사다리 타기를 통하여 어떤 순서를 결정한다. 참가자들은 알파벳 대문자 첫 k개로 표현되며, 사다리 타기를 시작할 때의 순서는 아래 그림과 같이 항상 알파벳 순서대로이다. k=10 인 예를..
- Table of Contents:
태그
‘백준_알고리즘’ Related Articles
[백준 – Java] 15684번 : 사다리 타기
- Article author: minhamina.tistory.com
- Reviews from users: 39205 Ratings
- Top rated: 3.4
- Lowest rated: 1
- Summary of article content: Articles about [백준 – Java] 15684번 : 사다리 타기 문제 www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. …
- Most searched keywords: Whether you are looking for [백준 – Java] 15684번 : 사다리 타기 문제 www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 문제 www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을..
- Table of Contents:
문제
설명
전체 코드
GITHUB
태그
관련글
댓글0
공지사항
최근글
인기글
최근댓글
태그
전체 방문자
티스토리툴바
사다리 게임 – 코딩도장
- Article author: codingdojang.com
- Reviews from users: 4975 Ratings
- Top rated: 5.0
- Lowest rated: 1
- Summary of article content: Articles about 사다리 게임 – 코딩도장 Main { static char[][] map; static int n,m; public static vo main(String[] args) { Scanner sc = new Scanner(System.in); n = Integer. …
- Most searched keywords: Whether you are looking for 사다리 게임 – 코딩도장 Main { static char[][] map; static int n,m; public static vo main(String[] args) { Scanner sc = new Scanner(System.in); n = Integer. 프로그래밍 문제풀이를 통해서 코딩 실력을 수련
- Table of Contents:
코딩으로 지구정복 – 코인(코딩하는 사람들) – Google Sách
- Article author: books.google.com.vn
- Reviews from users: 8980 Ratings
- Top rated: 4.9
- Lowest rated: 1
- Summary of article content: Articles about 코딩으로 지구정복 – 코인(코딩하는 사람들) – Google Sách Updating …
- Most searched keywords: Whether you are looking for 코딩으로 지구정복 – 코인(코딩하는 사람들) – Google Sách Updating ▶ 코딩이나 프로그래밍 대한 기본적인 개념을 가볍고 쉽게 이해하고,실제로 몇몇 프로그래밍 언어를 통해 전자계산기를 코딩해 보고,행운 번호 추첨기도 만들어 보는 등, 프로그래밍의 기초를 이해하기 쉽고 기본을 탄탄히 다질 수 있게 하는 코딩(프로그래밍) 입문서이다.코딩으로 지구를 정복하는 그날까지!
- Table of Contents:
See more articles in the same category here: Top 794 tips update new.
사다리 타기 코딩
메모리에 저장해서 갈 것인가 아니면 센서로 찾아갈 것인가?
10월 아빠들의 코딩 모임을 동탄 토즈에서 진행했다.
4명의 아빠들… 토요일 아침에 이렇게 건전한 목적으로 아빠들이 모여 코딩 관련 열띤 토론의 모습을 생각하면 모임이 끝난 후 왠지 스스로 대견하다 생각하며 씨익 웃게 만든다.
이번 숙제는 스크래치로 사다리 타기 프로그램 만들기
1. 랜덤 하게 사다리를 긋기
2. 화살표가 길 따라가기
따식님이 위 동영상을 카톡으로 던져주고 각자 해 오라는 것이다.
숙제 검사 결과 숙제를 내 준 사람과 첨물님만 해 옴 -.-
그럼 어떻게 코딩을 했는지 살펴보았다.
먼저 첨물님. 두 가지 방식으로 진행했다.
1. 화살표가 가야 할 길을 미리 알고 따라 가는 경우,
2. 화살표가 사다리를 만났을 때, 조건문을 써서 알아서 찾아가는 경우,
우선 첨물님은 사다리를 랜덤 하게 만들지는 않고, 도장 찍기로 가로선과 세로선을 특정 위치에 만들었다.
그리고 난 후, 1~4번 세로선 각각에서 화살표가 가는 길을 리스트에 넣었다.
넣을 때, 화살표가 직진은 0, 좌회전은 +1, 우회전은 -1을 넣었다. 총 10번의 움직임에 끝까지 도달하도록 했기 때문에 10개의 숫자가 하나의 리스트에 들어가게 되는 것이다.
위와 같이 세팅을 하면, 1~4번 세로선 위치에서 화살표가 출발할 때, 화살표가 가야 하는 정보가 모두 리스트에 들어가 있으므로 B라는 변수(어디로 가야 하는지 정하는 변수)에 0, +1, -1이 들어가 있는지 보고, 각각 동작을 취하면 된다. 그걸 하나의 세로선에서 10회 반복하면 가장 아래 위치까지 도달하게 된다.
그러나 아쉬움이 남았다. 이렇게 화살표가 모두 가야 할 곳을 알고 있도록 코딩을 해 놓으면 사다리가 달라졌을 때, 매번 위치 정보를 넣어주어야 한다. 만약 길 따라가는 로봇으로 임의의 사다리 지도 위에서 따라가게 만들어야 하고, 사다리 정보를 모른다면 어떻게 해야 할 것인가?
그래서 코딩을 수정했다. 사다리의 교차점에서 화살표가 판단해가면서 가도록…
그러기 위해서 화살표에 센서를 달았다. 노란색과 녹색. 그리고 노란색 센서가 15도 좌회전해서 파란색 사다리 가로선을 만나면 좌회전, 녹색 센서가 우회전에서 파란색 사다리를 만나면 우회전을, 이도 저도 아니면 직진으로 가도록 했다. 즉 위에서 B값을 A라는 리스트에서 고르는 것이 아니라, 화살표가 움직이면서 좌우로 약간씩 회전해가면서 스스로 판단해서 0, +1, -1을 정하는 방법이다.
사실 이러한 방법은 레고의 마인드스톰에서 길 따라가는 코드에서 참고하였다. 마인드스톰에는 빛 센서가 있어서 좌우로 약간씩 회전하면서 검은색이 아니면 다시 제자리로 오도록 하는 알고리듬으로 검은색 라인을 따라가도록 한다. 이 원리를 스크래치 사다리 타기에 그대로 이용하는데, 단지 가로선을 만났을 때, 어디로 회전해야 할지를 두 개의 센서를 달아서 판단한 것이다. 레고의 마인드스톰처럼 하나의 센서로 줄이는 방법도 더 해 볼 예정이다.
첨물님의 설명 후에 사다리의 가로선이 세로선과 같은 검은색이면 어떻게 하느냐와 화살표에 좌우 날개에 큼직하게 붙이지 않고 보이지 않게 할 수는 없느냐 하는 의견이 있었다.
그리고 본격적으로 숙제를 내준 따식님의 코드 설명이 있었다.
1. 사다리 랜덤으로 그리기
– 펜 내리기와 펜 올리기 : 마치 펜을 기계에 붙여서 내리면 그어지고 올리면 그리지 않는 기능
– 세로선은 반복문을 사용하여 5개를 그리도록 한다.
– 가로선 긋기 : 두 개의 세로선 사이의 가로선을 긋는데, 20 등분하여 랜덤 변수를 사용하여 리스트에 각각에 0, 1을 넣어 긋기와 긋지 않는 조건을 넣어둔다. 그렇게 총 4회를 진행하여 가로선 전부의 조건표를 또 다른 리스트에 넣는다.
위에서 ladder 리스트 변수는 20개의 가로선 유무를 정하는 숫자가 들어가는 것이고, 이것을 4회 진행했을 때, 각각을 number of line이라는 리스트에 붙여 넣어서 구별해 놓는 것이다.
그런데 여기서 고려해야 할 점이 있다. 어떤 위치에서 가로선이 왼편에 있으면, 오른편에는 가로선이 없어야 사다리 게임이 된다. 위 number of line에서 1번행과 2번행에 20개의 숫자가 들어가는데, 왼쪽부터 0, 1이 들어가는데, 같은 위치에 1이 들어가 있으면 안된다는 것이다. 이걸 어떻게 만들 수 있을까?
2번행에 20개 방에 0, 1을 랜덤 하게 넣을 때, 1번행에 해당 위치에 0이 있을 때에만 랜덤수를 넣고, 1이 있을 경우엔 0을 넣도록 한다. 0번행은 모두 0이 들어가 있으므로 1번행은 20개의 방에 0, 1을 랜덤 하게 넣어둔다. 그리고 그 20개 세트를 또 다른 number of line에 모아둔다.
그리고나서 2번행의 20개의 방에 0, 1을 넣을 때엔 ladder라는 리스트(이것은 1번행의 정보를 담고 있다.)에서 각각의 방에 0이 있을 경우에만 0 또는 1을 넣고, 1이 있을 때는 무조건 0으로 넣는다. 그래야 연속적으로 가로선이 그려지지 않는다. 좀 복잡하지만 이렇게 랜덤 사다리 긋기를 코드를 만들었다.
2. 화살표 움직이기
number of list에 각각의 가로선 정보가 리스트에 들어가 있다.
그러나 직진, 우회전, 좌회전으로 들어가 있지 않고, 가로선이 있느냐와 없느냐로 구성되어 있다.
그러면 어떻게 화살표는 왼쪽과 오른쪽을 알아낼 수 있을까?
여기서 변수 3개를 만들자
1) Player 변수 : 세로선의 어디서부터 시작하는가에 대한 것, 첫 번째 세로선에서 시작하면 Player=1
2) ladder No 변수 : 화살표가 5개의 세로선 중 어느 선에 있느냐에 대한 수, 화살표가 움직이면서 계속 바뀜
3) N 변수 : 세로선의 길이를 12 등분하고, 한 단위씩 움직일 때마다 1씩 증가, 12등분 중 하나에 가로선이 있음
그럼 화살표가 움직이는 걸 해 보자. 아래와 같이 사다리가 있다고 가정하자.
Player=2에서 화살표는 시작한다고 할 때, ladder No=Player=2의 첫 번째 줄(N=1)에 가로선이 있는지 확인한다. number of list의 두 번째에서 첫 번째 글자를 확인하니 0
그리고 그 왼쪽 ladder의 수도 확인, 즉 ladder No=1 의 첫 번째(N=1)의 number of list 의 첫째 글자도 0
그러면 Player 변수는 변함이 없고, 직진한다.(Player=2)
N=2으로 바뀐다. 다시 ladder no=1에 가로선이 있는지 확인한다. 1이 있다. 그러면 Player 변수는 1을 더하고 오른쪽으로 이동한다. (Player=3)
N=3으로 바뀐다. 이번엔 ladder no=3에 가로선이 있는지 확인한다. 없다. 그리고 왼쪽을 본다. ladder no=2의 세 번째 수가 1이다. 그러면 Player는 1을 빼고 왼쪽으로 이동한다.(Player=2)
N=4으로 바뀐다. 이번엔 ladder no=2에 가로선이 있는지 확인한다. 없다. 그리고 왼쪽을 본다. ladder no=1의 네 번째 수가 1이다. 그러면 Player는 1을 빼고 왼쪽으로 이동한다.(Player=1)
N=5으로 바뀐다. 이번엔 ladder no=1에 가로선이 있는지 확인한다. 있다. 그러면 그러면 Player는 1을 더하고 오른쪽으로 이동한다.(Player=2)
이런 식으로 화살표가 이동해간다.
코딩 내용은 아래와 같다.
다소 복잡하지만 매우 고급 기술을 써서 화살표 움직임을 구현한 것에 다들 놀라워 했다.
다만 이 방법또한 화살표의 움직임에 대한 정보가 미리 메모리에 저장되어 있고, 화살표는 이것에 따라 움직여가는 원리이다.
다들 이런 걸 고민하고 있다는 것에 나름 자부심을 가지고 한단계 더 나아가는 문제를 만들어서 다음에 보기로 했다.
다음 주제는 ‘미로 찾기’
기대가 된다. ‘아빠들의 코딩 모임’의 미래가 ^^
마이크로비트로 만든 사다리타기도 …
TDD, Clean Code with Java
경험해야할 학습 목표
자바8의 스트림, 람다를 사용해 함수형 프로그래밍하는 경험
In -> Out, Out -> In 방식으로 도메인 객체를 설계하는 경험
책임주도설계 기반으로 인터페이스 활용해 프로그래밍하는 연습
경험할 객체지향 생활 체조 원칙
규칙 4: 한 줄에 점을 하나만 찍는다. Clean Code 가이드의 디미터 법칙을 지키는 것을 의미한다.
규칙 6: 모든 엔티티를 작게 유지한다.
규칙 7: 3개 이상의 인스턴스 변수를 가진 클래스를 쓰지 않는다.
규칙 9: 게터/세터/프로퍼티를 쓰지 않는다.
미션3, 사다리타기 후기다.
자동차경주, 로또에서 많은 걸 배운 덕분에
이번 사다리타기는 예상보다 빨리 진행되었다
이번엔 지적당한게 많이 없었다!
step1, 자바8 스트림, 람다, Optional
자바8 에서 제공하기 시작한 막강한 기능들을 사용하는 학습형 단계다.
제공되는 레거시 기반 예제에서 스트림, 람다, Optional 으로 리팩토링한다.
스트림, 람다를 사용한지 한달이 되었다.
스트림과 람다 방식이 익숙해지고 예전 코딩 스타일은 이제 어색해졌다.
Optional 은 스트림,람다 보다 사용하기 시작했지만
백기선님의 자바8 에서 학습하여 금방 익숙해지고 있다.
step2, 사다리(생성)
본격적인 사다리 미션에 돌입했다.
사다리의 프로그래밍 요구사항이다
자바 8의 스트림과 람다를 적용해 프로그래밍한다.
규칙 6: 모든 엔티티를 작게 유지한다
사다리를 임시로 그려보았다.
|—–| |—–|
| |—–| |
|—–| | |
사다리를 분석해보니 다음과 같은 요소가 파악되었다.
1. 연속적으로 라인을 연결할 수가 없다.
2. 라인을 띄엄띄엄 반드시 그릴 필요가 없다. 라인이 없을 수도 있다.
연속적으로 라인을 그릴 수 없다.
사다리를 그릴 때 이전 라인을 다음 라인에 보내야한다는 뜻으로
이걸 어떻게 해야할까? 온갖 생각을 했다가 결국엔 재귀함수로 구현했다.
그리고 받은 피드백…
추가적인 피드백을 드려보면 재귀로 코드를 구현하는 것은 한번 고민해보실 필요가 있는 부분입니다.
왜냐하면 해당 코드는 현철님 뿐만 아니라 동료가 유지보수해야할 상황이 올 수 있는데
재귀로 코드를 구현한다면 동작 과정을 쉽게 이해하지 못할수도 있다고 생각이 됩니다 🙂
재귀함수는 너무 먼 방식이였고😂
재귀함수 대신 외부변수 하나를 사용하는 스트림으로 간단하게 대체가 되었다🙈
step3, 사다리(게임 실행)
이제 사다리 결과를 입력하고 사다리 실행을 하는 과정이다.
이번 단계에서 중복되는 상수들이 많아 각체마다 관리할지, 중복되는 상수를 상수클래스로 놓을지 고민하기도 하고
생성자에 인자를 보낼 때 인스턴스필드보다 많이 보내도 될지 고민도 해보고
다양한 고민을 하게 해준 단계였고, 정답이 안 나와 리뷰어에게 질문을 던지면서 제출을 하게된다.
개선할 사항이 여럿 존재했는데 여기서 언급할 건
Stream.forEach 와 Collection.forEach 를 구분해야한다면서 링크와 함께 장문 코멘트를 달아주셨다.👍👍👍
step4, 사다리 (리팩토링)
이번 단계는 이전 단계에서 피드백 받은걸 리팩토링 하는 간단한 단계이며,
토비님이 제공해주는 코드를 기반으로 리팩토링하는 선택지도 존재한다.
나는 내 코드를 리팩토링하는걸 선택했다. (토비님이 제공해주는 코드는 완주 후 진행하는걸로~👏)
이전 피드백으로 받은 것중 가장 예상치도 못한게 하나 있다.
바로 실행 결과를 저장할 때 Map
형식으로 key 는 이름을 넣고, value 는 결과를 넣었는데 Map
형식으로 key, value 에 객체를 넣어달라는 것! value 에 객체를 넣는 방식은 많이 해봐서 익숙하지만
key 에 객체를 넣는건 상상도 못했다! ㄴㅇㄱ!!!
진행하면서 key 에 객체를 넣으면 어떻게 비교를 해야할까 고민도 하고 했지만
해당 객체의 유니크한 값으로 비교하는 형식으로 진행하고 제출을 하면서 key 에 객체를 넣을 경우 어떻게 비교하냐 질문도 남겼다.
그리고 받은 답변 중 일부분
도메인이 key – value를 String – String으로 관리하는 데이터 위주의 구조를 객체로 관리함으로써,
객체가 자료구조나 함수의 집합이 아닌 자신만의 생명주기, 행위, 습관을 지닌 독립적인 개체로 다룰 수 있는 이점이 있습니다.
또한 Map
은 어떤 데이터를 관리하는지, 그리고 왜 관리하려 하는지 한 눈에 알 수 없지만 Map
으로 다룬다면 플레이어에 따른 게임 결과값이 매핑되었다는 것을 한눈에 알아볼 수 있는 이점이 있고 해당 자료구조를 관리하고 있는 클래스 네이밍에 맞게 책임도 쉽게 파악할 수 있다고 생각합니다.
👍👍👍👍👍👍
후기
이전에 많은 고난이 있었는지 이번 미션은 하루에 한번씩 4일만에 통과가 되었다👏👏👏👏
금방 통과되어서 솔직히 어정쩡하기도 하다.
빨리 통과된 만큼 설계가 좋았다고 생각하자.
이번 사다리를 진행하면서
외부 변수를 이용하여 스트림을 다양하게 활용할 수 있는걸 알게되었고,
Map
를 사용하는 것도 객체지향적으로 접근하는 방법도 배웠다. 그 외에도 여러가지를 배웠다.
이제는 마지막 미션 볼링이 남았다.
가장 난이도가 높다는데 한번 부딪혀보러 가야겠다.
[자바] 사다리 타기 게임 소스코드
import java.util.*; public class RedrawLadder2 { Scanner scan = new Scanner(System.in); PeopleNumber pn = new PeopleNumber(); DrawLadder dl = new DrawLadder(); Random random = new Random(); String [] arr = {“│”, “├”, “──”, “┤”}; int b = 0; public void redrawLadder(int a, int height, String[] stuff, String[] name, String[] c) { for(int i = 0; i < c.length; i++) { System.out.print((i + 1) + ". " + name[i]); for(int j = 0; j < 5; j++) { System.out.print(" "); } } System.out.println(); for(int i = 0; i < stuff.length; i++) { System.out.print((i + 1)); for(int j = 0; j < 5; j++) { System.out.print(" "); } } System.out.println(); for(int i = 0; i < a; i++) { System.out.print("│"); for(int j = 0; j < 5; j++) { System.out.print(" "); } } System.out.println(); //초반 1번라인 찍는 로직 for(int k = 0; k < (height - 2); k++) { for(int i = 0; i < a; i++) { if(b == 1 && i != 0) { b = 3; } else if(i == a - 1) { if(b == 1) { b = 3; } else { b = 0; } } else { b = random.nextInt(2); } System.out.print(arr[b]); if(b == 1 && i != a - 1) { for(int j = 0; j < 5; j++) { System.out.print("─"); } } else { for(int j = 0; j < 5; j++) { System.out.print(" "); } } if(b == 1) { c[i] = name[i + 1]; c[i + 1] = name[i]; } for(int q = 0; q < c.length; q++) { name[q] = c[q]; } } System.out.println(); } //중간라인 찍는 로직 for(int i = 0; i < a; i++) { System.out.print("│"); for(int j = 0; j < 5; j++) { System.out.print(" "); } } System.out.println(); for(int i = 0; i < stuff.length; i++) { System.out.print((i + 1)); if(i >= 9) { for(int j = 0; j < 4; j++) { System.out.print(" "); } }else { for(int j = 0; j < 5; j++) { System.out.print(" "); } } } System.out.println(); for(int i = 0; i < stuff.length; i++) { System.out.print((i + 1) + ". " + stuff[i]); for(int j = 0; j < 5; j++) { System.out.print(" "); } } System.out.println(); System.out.println(); System.out.println(); //마지막 라인 찍는 로직 for(int i = 0; i < c.length; i++) { System.out.println(); System.out.print(c[i] + "님 : " + stuff[i]); } } } import java.util.*; public class LadderMain { Scanner scan = new Scanner(System.in); PeopleNumber pn = new PeopleNumber(); DrawLadder dl = new DrawLadder(); RedrawLadder2 rl2 = new RedrawLadder2(); public LadderMain() { doProcess(); } public void doProcess() { //참가자 인원을 받는다(경품의 수를 정한다.) pn.doProcess(); //사다리를 그린다. dl.drawLadder(pn.a, pn.height, pn.stuff); //콘솔창을 초기화한다. nullPoint(); rl2.redrawLadder(pn.a, pn.height, pn.stuff, pn.name, pn.c); } public void nullPoint() { for(int i = 0; i < 100; i++) { System.out.println(); } } public static void main(String[] args) { new LadderMain(); } } import java.util.*; public class PeopleNumber { Scanner scan = new Scanner(System.in); int a; int height; String [] stuff; String [] name; String [] c; public void doProcess() { peopleNum(); peopleName(); scanStuff(); scanHeight(); } public void peopleNum() { System.out.print("참가 인원 수를 입력하세요 : "); a = scan.nextInt(); c = new String [a]; } public void peopleName() { name = new String[a]; System.out.print("참가자 이름을 입력하세요 : "); for(int i = 0; i < name.length; i++) { name[i] = scan.next(); c[i] = name[i]; } for(int i = 0; i < name.length; i++) { System.out.println("이름 : " + (i + 1) + ". " + name[i]); } } public void scanStuff() { stuff = new String [a]; System.out.print("경품을 입력하세요: "); for(int i = 0; i < stuff.length; i++) { stuff[i] = scan.next(); } for(int i = 0; i < stuff.length; i++) { System.out.println("경품 : " + (i + 1) + ". " + stuff[i]); } } public void scanHeight() { System.out.print("높이를 설정해주세요 : "); height = scan.nextInt(); } } import java.util.*; public class DrawLadder { Scanner scan = new Scanner(System.in); Random random = new Random(); PeopleNumber pn = new PeopleNumber(); public void drawLadder(int a, int height, String[] stuff) { for(int i = 0; i < height; i++) { for(int j = 0; j < a; j++) { for(int k = 0; k < 5; k++) { System.out.print(" "); } System.out.print("│"); } System.out.println(); } for(int i = 0; i < a; i++) { for(int j = 0; j < 2; j++) { System.out.print(" "); } System.out.print(stuff[i]); } } }
So you have finished reading the 사다리 타기 코딩 topic article, if you find this article useful, please share it. Thank you very much. See more: c언어 사다리타기, 사다리타기 프로그램, 사다리타기 그리기, c언어 사다리타기 알고리즘, Spring 사다리 타기, 사다리 타기 최소 가로줄, 사다리게임, 사다리타기 온라인