Array
2018-11-02 00:00:00 +00002차원 배열
- 2개의 int값을 가지는 배열을 3개 생성한다
int arr2[][] = new int[3][2];
- 각 배열의 크기를 다르게 지정해줄 수 있다
- 처음에는 1차원 배열 크기만 정해주고 그 후에 2차원 배열의 크기를 정한다
int arr2[][] = new int[3][]; // 1차원 배열의 크기를 설정
arr[0] = new int[2]; // 각 배열 크기를 다르게 할 수도 있다
arr[1] = new int[4];
arr[2] = new int[8];
- 선언, 생성, 초기화를 동시에 함
#int arr3[][] = {0번배열, 1번배열 3번배열} ;
2차원 배열 순회
int arr3[][] = {array, array, array};
for(int i = 0; i < arr3.length; ++i)
{
for(int j = 0; j < arr3[i].length; ++j)
{
System.out.println("arr3["+i+"]["+j+"]="+arr3[i][j]);
}
}
배열 복사
System.arraycopy(src, srcPos, dest, destPos, length);
- src : 복사원본
- srcPos : 복사원본의 복사 시작 위치
- dest : 복사할 대상
- destPos : 복사할 대상의 복사 시작 위치
- length : 복사할 길이
stack
2018-11-02 00:00:00 +0000문제, 결과
#source
import java.awt.List;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static class Stack
{
private int[] mStack;
final int mMaxCount;
int mPos; // 위치이자 개수
public Stack(int size)
{
mMaxCount = size;
mStack = new int[mMaxCount];
mPos = 0;
}
public void push(int value)
{
if(mPos >= mMaxCount)
return;
mStack[mPos] = value;
++mPos;
}
public int pop()
{
if(0 >= mPos)
{
System.out.println("-1");
return -1;
}
--mPos;
int value = mStack[mPos];
mStack[mPos] = value;
System.out.println(value);
return value;
}
public int size()
{
System.out.println(mPos);
return mPos;
}
public int empty()
{
if(0 == mPos)
{
System.out.println(1);
return 1;
}
System.out.println(0);
return 0;
}
public int top()
{
if(0 >= mPos)
{
System.out.println(-1);
return -1;
}
System.out.println(mStack[mPos-1]);
return mStack[mPos-1];
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int count = Integer.parseInt(sc.nextLine());
Stack stack = new Stack(10000);
String[] str = new String[count];
for(int i = 0; i < count; ++i)
{
str[i] = sc.nextLine();
}
for(int i = 0; i < count; ++i)
{
Parser(stack, str[i]);
}
}
static void Parser(Stack stack, String str)
{
String command = str;
int spaceIndex = str.lastIndexOf(" ");
if(-1 != spaceIndex)
{
command = str.substring(0, spaceIndex);
}
// 비어있는문자가 없다면 하나의 문자로 이루어진 것
if(command.equals(""))
{
System.out.println("equals");
command = str;
}
if(command.equals("push"))
{
int tempSpaceIndex = str.lastIndexOf(" ");
if(-1 == tempSpaceIndex)
{
System.out.println("value를 입력하세요");
return;
}
String temp = str.substring(tempSpaceIndex+1, str.length());
int value = Integer.parseInt(temp);
stack.push(value);
}
else if(command.equals("pop"))
{
stack.pop();
}
else if(command.equals("size"))
{
stack.size();
}
else if(command.equals("empty"))
{
stack.empty();
}
else if(command.equals("top"))
{
stack.top();
}
}
}
pyramid draw
2018-11-01 00:00:00 +0000문제
피라미드 그리기
result
*
***
*****
*******
*********
문제풀이
공백은 한칸씩 늘어난다. 그래서1열에 길이가 1씩 증가.
그리는 위치는 한칸씩 앞으로 간다.
row value와 공백은 비례한다
row value와 *위치는 반비례한다
if(col >= count - row) * 위치를 이렇게 체크할 수 있다
source
package kosta.basic;
package pack.com;
import java.util.Scanner;
import MyExample.src.pack.com;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int count = sc.nextInt();
int starCount = 1;
int colCount = count;
for(int row = 0; row < count; ++row )
{
for(int col = 1; col <= colCount; ++col)
{
if(col >= count - row)
System.out.print("*");
else
System.out.print(" ");
}
++colCount;
System.out.print("\n");
}
}
}
Star Draw(별 그리기4)
2018-10-31 00:00:00 +0000문제
https://www.acmicpc.net/problem/2411
결과
*****
****
***
**
*
문제풀이
row는 몇번째 행인지 나타내면서 열에서 *을 그릴 index가 되기도 한다.
j >= pos 열을 그릴 때 row index(i) 보다 현재 열 인덱스(j) 가 같거나 크면 *을 그린다
소스
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// *****
// ****
// ***
// **
// *
// 오른쪽역방향
Scanner sc = new Scanner(System.in);
int count = sc.nextInt();
for(int i = 0; i < count; ++i)
{
for(int j = 0; j <count; ++j)
{
if(j >= i)
{
System.out.print("*");
}
else
{
System.out.print(" ");
}
}
System.out.print("\n");
}
}
}
Star Draw(별 그리기3)
2018-10-31 00:00:00 +0000문제
https://www.acmicpc.net/problem/2440
문제풀이
다음 row로 갈수록 *이 줄어든다. 그러므로 row = 5 일 때 row를 *의 개수로 쓸 수 있다.
###소스
package algo;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// *****
// ****
// ***
// **
// *
Scanner sc = new Scanner(System.in);
int count = sc.nextInt();
for(int i = count; i > 0; --i)
{
for(int col = 0; col < i; ++col)
{
System.out.print("*");
}
System.out.print("\n");
}
}
}
Posts
-
Interceptor(인터셉터)
-
Android Studio Install
-
계층형 게시판
-
VirtualBox Ubuntu 18.04.2 LTS
-
TransactionAwareDataSourceProxy Error
-
Java Coding Conventions
-
Java Long과 long의 차이
-
Mybatis 객체 안에 객체 매핑
-
JavaConfig mariadb 연결
-
DataTable
-
관리자 페이지
-
MappingJackson2JsonView
-
Spring Javaconfig
-
게시판 만들기-제품 등록
-
게시판 만들기-제품 페이지 제작
-
게시판 만들기-회원탈퇴 및 게시판 삭제 플래그 추가
-
footer 하단에 고정시키기
-
bootstrap4 사용법
-
Spring 데이터 검증 @Valid, BindingResult
-
brackets 실시간 미리보기
-
Spring 기본설정(pom.xml, web.xml, encoding)
-
Vue.js computed, methods, watch
-
javascript onkeyup
-
Maria DB Incorrect string value Error
-
javascript 암호화(md5, base64)
-
Vue.js template
-
Vue.js 소개
-
Nexacro 설명
-
ControllerAdvice
-
Batch
-
html 페이지 로딩 순서
-
소수구하기(PrimeNumber)
-
최소공배수,최대공약수
-
Stream
-
Lambda(람다식)
-
inner class(내부 클래스)
-
final 키워드
-
file upload
-
파이썬 빅 데이터 K-평균(K-means)
-
아나콘다(Anaconda), 주피터 개발환경 세팅
-
텐서플로우(TensorFlow) 아키텍쳐 및 Session
-
텐서플로우(TensorFlow)상수, 변수, 함수
-
머신러닝 기초
-
한글 리스트 오름차순, 내림차순
-
연속된 글자의 갯수 출력
-
java spring5 프로젝트 설정
-
restController
-
spring 세팅 및 기본설정
-
mybatis trim
-
jquery datepicker
-
ajax로 데이터 전달/응답 받는법
-
mybatis error
-
mybatis 게시판 만들기 순서
-
Java Jsp Mybatis Dynamic Query
-
mybatis
-
git 소개
-
node.js 개발환경 구축
-
node.js 기본 내장 모듈
-
node.js의 전역 객체
-
node.js http module
-
node.js event
-
jdbc
-
자바빈
-
jsp, servlet 정리
-
java null object pattern
-
다음지도 key 등록(kakao map)
-
공공 데이터 open api
-
facebook login api
-
sourcetree 사용법
-
JavaScript event3
-
JavaScript jquery
-
JavaScript dom
-
JavaScript ajax
-
JavaScript 이벤트2
-
JavaScript 캡슐화
-
JavaScript Array,내장객체
-
JavaScript var
-
JavaScript 객체,생성자
-
JavaScript 함수,클로저
-
JavaScript Event
-
javascript eclipse 자동완성(with tern)
-
CSS position
-
HTML5,CSS 선택자
-
자바 시간 측정
-
git,eclipse 연동
-
HTML 기초 정리
-
Eclipse Web 환경세팅
-
피보나치의 수
-
Oracle 반복문,커서,예외,저장 서브프로그램
-
Oracle PL/SQL
-
Oracle 다중쿼리(Multiple row query)
-
Oracle 인덱스, 뷰, 시퀀스, 트랜잭션, 세션 정리
-
Oracle JOIN 정리
-
Oracle DDL, DML 정리
-
Oracle 문자열 함수 정리
-
Oracle 숫자,날짜,자료형 변환 함수 정리
-
Oracle 제약조건 정리
-
Oracle 기초 쿼리 정리
-
문제2775
-
DFS
-
junit
-
json
-
algorithmus basic
-
circular queue(원형큐)
-
binary search(이진탐색)
-
port forwarding(포트포워딩)
-
kakao chatbot(카카오 챗봇)
-
java io
-
sort comparable, comparator
-
Unresolved compilation problem
-
ArrayList, HashMap
-
Regular(정규표현식)
-
Enum Class
-
String Function
-
refactoring 이란(상수,제어플래그,assert)
-
reference,abstract 정리
-
FileNotFoundException Solve
-
static
-
Thread Synchronization(스레드동기화,원자성)
-
Java Exception(예외처리)
-
Java 생성자, this, super
-
roomnum
-
BeeHouse
-
Git Reset, Revert
-
Git Log
-
Array
-
stack
-
pyramid draw
-
Star Draw(별 그리기4)
-
Star Draw(별 그리기3)
-
Star Draw(별 그리기2)
-
Star Draw(별 그리기1)
-
Loop(While, For)
-
자바 데이터 타입, 데이터 연산
-
시계방향 달팽이 그리기
-
정수값의 짝수,홀수 갯수 구하기
-
java, Scanner 정리
-
draw dog
subscribe via RSS