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