일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 코딩테스트
- codemonkey
- 네이버알고리즘
- android
- ios
- iPhone
- 맥북
- algorism
- 아이폰
- 코딩
- 구름알고리즘
- code
- 맥용
- 안드로이드
- java
- 네이버
- naver
- Cordova
- error
- 아이폰 해상도
- Object-c
- 헬스
- 네이버구름
- goormtest
- codility
- Swift
- 아이폰 비율
- 알고리즘
- objective-c
- 구름TEST
- Today
- Total
그래오늘은이거야
[Java]goorm test(구름TEST) Bubble Sort 본문
안녕하세요 Leo 입니다.
이번 소개해줄 알고리즘 사이트는 구름TEST 라는 사이트 인데요,
NHN에서 투자 받아 개발한 알고리즘 사이트 입니다.
회사면접 코딩테스트를 하는 유명한 사이트죠...
저는 IOS (Object-c , Swift) 위주로 개발을 하고 가끔 안드로이드 개발을 하는데요...
회사에서 Java 로 코딩테스트를 하라고 해서 ... 하라면 해야죠... 풀어봤습니다.
제가 20문제 이상 푼것 같은데 이걸 공유 해드리도록 하죠...
이 글이 누군가에겐 "약"이 되고 누군가에겐 "독"이 될 것이다.
개발자라면 적어도 기본 알고리즘 정도는 스스로 학습하여 풀어봐야 한다.참고로 코딩테스트 문제를 제출 한 심사위원 분도제 블로그에서 답을 확인 한다는 것을 역으로 알아두고 보세요!! ㅎㅎ
알고리즘 문제
문제 : Bubble sort는 인접한 원소를 검사하여 정렬하는 것을 반복하는 정렬이다. Time complexity면에서는 좋지 않지만 단순하게 작성할 수 있는 장점이 있어서 자주 사용된다. Bubble sort로 오름차순 정렬을 진행하는 프로그램을 작성하십시오.
입력
첫 번째 줄에 Bubble 정렬을 진행할 수(들)의 개수를 입력하고
둘째 줄에 해당 개수에 맞게 수를 입력한다.
출력
Bubble sort가 완료된 형태의 수열
입/출력 예시
⋇ 입출력 형식을 잘 지켜주세요.
␣ : 공백
↵ : 줄바꿈
−⇥ : 탭
보기 입력 1
5
9 6 3 2 7
출력 1
2 3 6 7 9
보기 입력 2
3
3 2 1
출력 2
1 2 3
======================================================================================================
풀이
======================================================================================================
//Please don't change class name 'Main'
import java.util.Scanner;
import java.util.Arrays;
class Main {
public static void main(String[] args) {
String length, number;
Scanner scan = new Scanner(System.in);
length = scan.nextLine();
number = scan.nextLine();
String outputStr = "";
String[] strArray = number.split(" ");
int[] bubbleArr = new int[strArray.length];
for(int i = 0; i < strArray.length; i++) {
bubbleArr[i] = Integer.parseInt(strArray[i]);
}
int bubbleLen = Integer.parseInt(length);
for(int i=0; i < bubbleLen; i++){
for(int j=0; j < bubbleArr.length - 1; j++){
int temp;
if(bubbleArr[j] > bubbleArr[j+1]){
temp = bubbleArr[j];
bubbleArr[j] = bubbleArr[j+1];
bubbleArr[j+1] = temp;
}
}
}
String str = Arrays.toString(bubbleArr).replace(", "," ").replace("[","").replace("]"," ");
System.out.print(str);
}
}
참고로 저는 알고리즘 풀이 점수는 높은 점수는 아닙니다.
일단 푸는 거에 집중했습니다. 알고리즘에 정답은 없습니다.
더 좋은 알고리즘을 만들어 내는게 목표 입니다.
알고리즘에 대하여 더 이야기 하실분은 댓글남겨주세요!
구름TEST 화면
구름테스트, 구름TEST 가 지원하는 프로그래밍 언어
그 외 Scala, Pascal, Lua, Objective-C, Rust, Cobol, Clojure, Smalltalk, Dart, Haskell, Perl, Common Lisp, D, Erlang 등
구름테스트, 구름TEST 를 2019년 현재 적용중인 회사
'세상 개발 > Java(SpringFramework)' 카테고리의 다른 글
[Java]goorm test(구름TEST) 특정 문자 개수 구하기 (0) | 2019.08.30 |
---|---|
[Java]goorm test(구름TEST) 스택(Stack) (0) | 2019.08.30 |
[Java]goorm test(구름TEST) 범위 내의 숫자를 분해하여 곱한 후 합 구하기 (0) | 2019.08.30 |
[Java]goorm test(구름TEST) 암스트롱 수(Narcissistic Number) (0) | 2019.08.30 |
[Java]goorm test(구름TEST) 유클리드 호제법 (0) | 2019.08.30 |