Arrays.sort ๋ฉ์๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์๋์ ๋ฐ์ดํฐํ์
์ด ์ฌ์ฉ๊ฐ๋ฅํ๋ค
(Stringํ์
๋ถ๊ฐ/๋ฐฐ์ด[] ํํ๋ง ์ฌ์ฉ๊ฐ๋ฅ)
๋ง์ฝ Stringํํ์ "cdab"๊ฐ์ ํํ์ ๋ฌธ์์ด์ ์ ๋ ฌํ๊ณ ์ถ์ผ๋ฉด,
ํด๋น ๋ฌธ์์ด์ char[]ํํ๋ก ์ ํ ํ Arrays.sort๋ฅผ ํตํด ์ ๋ ฌ, ๊ทธ ๋ค์ ๋ค์ ๋ฌธ์์ด๋ก ๋ฐ๊ฟ.
import java.util.Arrays;
class Test {
public static void main(String[] args) {
String abc = "dabc";
char[] c = abc.toCharArray(); // ๋ฌธ์ ํ์
๋ฐฐ์ด๋ก ์ ํ
Arrays.sort(c); // ์ ๋ ฌ
String str = new String(c); // ๋ค์ Stringํ์
์ผ๋ก ์ ํ
System.out.println(str); // abcd
}
}
๋ฌธ์์ด์ ๋์ผ ์ฌ๋ถ๋ฅผ ํ์ธํ ๋๋ a==b๊ฐ ์๋ a.equals(b)
๋ฅผ ์ฌ์ฉ
ํฉํ ๋ฆฌ์ผ ! ์ 1๋ถํฐ n๊น์ง ์ ์์ ๊ณฑ์ ์๋ฏธ (n!)
5! = 1 x 2 x 3 x 4 x 5
System.out.println(Arrays.deepToString(answer));
for (boolean[] arr1 : array) {
for (boolean element : arr1) {
if (element == fact) {
return false;
class Solution {
public boolean solution(boolean[][] matrix, boolean b) {
boolean answer = true; // ๋ฐฐ์ด์ ๋ชจ๋ ์์๊ฐ b์ ๊ฐ์์ง ์ฌ๋ถ๋ฅผ ์ ์ฅํ ๋ณ์
int n = matrix.length; // ๋ฐฐ์ด์ ํฌ๊ธฐ
for (int i = 0; i < n; i++) { // ํ ๋ฐ๋ณต
for (int j = 0; j < n; j++) { // ์ด ๋ฐ๋ณต
if (matrix[i][j] != b) { // ํ์ฌ ์์๊ฐ b์ ๋ค๋ฅด๋ค๋ฉด
answer = false; // answer๋ฅผ false๋ก ๋ฐ๊ฟ
break; // ๋ฃจํ ์ข
๋ฃ
}
}
if (!answer) { // answer๊ฐ false๋ผ๋ฉด
break; // ๋ฃจํ ์ข
๋ฃ
}
}
return answer; // ๊ฒฐ๊ณผ ๋ฐํ
}
}
int[][] answer = new int[m][n]
m = ํ / n = ์ด
int[][] answer = new int[4][2]
int[][] answer = [[1,2],[3,4],[5,6],[7,8]]
์์ ๊ฐ์ด ๋ฌธ์์ด ํํ์ ์ซ์๋ฅผ ๋ฌธ์๋ก ๋ฐ๊พธ๋ฉด ๋ณด์ด๋ ๊ฑด ์ซ์์ง๋ง ์ค์ ๋ก๋ ๋ฌธ์์ด๊ธฐ ๋๋ฌธ์ intํ์ ๋ฐ์ดํฐ์ ๋น๊ต๊ฐ ๋์ง ์๋๋ค. ๋น๊ต๋ ๊ฐ๋ฅํ๋ ๋ฌธ์๋ก ๋ ์ซ์๋ ์์คํค ์ฝ๋๊ฐ ๋์์ ์ค์ ๋ก๋ ๋น๊ต๊ฐ ๋์ง ์๋๋ค. ์ด๋ฌํ ์ํฉ์์๋ -'0'
์์์ ๋ฃ์ด์ฃผ๋ฉด ํด๋น๊ฐ์ด ์ซ์๋ก ๋ฐ๋์ด ์ธ์๋๋ค.
int num = -5;
num = Math.abs(num);
System.out.println(num); // 5
int answer = a > b ? a : b
a๊ฐ b๋ณด๋ค ํฌ๋ฉด a ๋์
, a๊ฐ b๋ณด๋ค ์์ผ๋ฉด b ๋์
map์์ ์๋ value๋ฅผ ์ป๊ธฐ์ํด key๊ฐ์ ๋ฃ๊ณ ๋บ
int result = 0;
for (int i = 0; i < my_string.length(); i++) { // ๋ฌธ์์ด์ ์ํํฉ๋๋ค.
char c = my_string.charAt(i); // ํ์ฌ ์์น์ ๋ฌธ์๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
if (Character.isDigit(c)) { // ๋ฌธ์๊ฐ ์ซ์์ธ ๊ฒฝ์ฐ
result += c-'0'; // result์ ํด๋น ์ซ์๋ก ์ถ๊ฐ
// '0'์ ์ ๋นผ์ฃผ๋ฉด ์์คํค์ฝ๋์ ํฐ ์ซ์๊ฐ ๋ํด์ง
2์ง์๋ฅผ 10์ง์๋ก ๋ณํํ๋ ๊ณต์์ ๋ค์๊ณผ ๊ฐ๋ค.
๊ฐ ์๋ฆฟ์์ ๊ฐ์ 2์ ๊ฑฐ๋ญ์ ๊ณฑ ๊ฐ์ ๊ณฑํ ํ ๋ชจ๋ ๋ํ๋ฉด ๋๋ค. 2์ง์์์ ์ค๋ฅธ์ชฝ์์๋ถํฐ ์ฒซ ๋ฒ์งธ ์๋ฆฌ๋ 2^0, ๋ ๋ฒ์งธ ์๋ฆฌ๋ 2^1, ์ธ ๋ฒ์งธ ์๋ฆฌ๋ 2^2์ ๊ฐ์ด 2์ ๊ฑฐ๋ญ์ ๊ณฑ ๊ฐ์ด ์ฆ๊ฐํ๋ค.
์๋ฅผ ๋ค์ด, 2์ง์ 1101์ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐํ ์ ์๋ค.
1 x 2^0 + 0 x 2^1 + 1 x 2^2 + 1 x 2^3 = 1 + 0 + 4 + 8 = 13
๋ฐ๋ผ์ 2์ง์ 1101์ 10์ง์ 13์ผ๋ก ๋ณํ๋จ.
์๋๋ 2์ง์๋ฅผ ๋ด์ ๋ฌธ์์ด์ intํ ๋ณ์์ ๋ด๋ ์์ค์ฝ๋์ด๋ค.
power(์ ๊ณฑ์)๋ฅผ for๋ฌธ ํ๋ฒ ๋๋๋ง๋ค 1์ฉ ์ฆ๊ฐ์์ผ์ผํ๋ค.
for (int i = bin.length() - 1; i >= 0; i--) {
int digit = bin.charAt(i) - '0'; // ๋ฌธ์๋ฅผ ์ซ์๋ก ๋ณํ
decimal += digit * Math.pow(2, power); // 2์ ๊ฑฐ๋ญ์ ๊ณฑ ๊ฐ๊ณผ ๊ณฑํ ํ 10์ง์ ๊ฐ์ ๋ํจ
power++; // ๋ค์ ์๋ฆฟ์์ 2์ ๊ฑฐ๋ญ์ ๊ณฑ ๊ฐ ๊ณ์ฐ์ ์ํด 1 ์ฆ๊ฐ
}
List<Integer> list = new ArrayList<>(); // ๋ด์ ๊ทธ๋ฆ
// n์ 2๋ก ๋๋ ์ ์๋ ๋งํผ ๋๋๋ค
while (n % 2 == 0) {
list.add(2);
n /= 2;
}
// ์ด์ n์ ํ์๊ฐ ๋๋ค
for (int i = 3; i <= Math.sqrt(n); i += 2) {
// i๊ฐ n์ ์ธ์์ธ ๊ฒฝ์ฐ, i๋ก ๋๋๋ค
while (n % i == 0) {
list.add(i);
n /= i;
}
}
// n์ด ์์์ธ ๊ฒฝ์ฐ
if (n > 2) {
list.add(n); // ์์์ธ ๊ฒฝ์ฐ list์ ์ถ๊ฐ
}
Set<Integer> set = new HashSet<>(list);
๋ค์ ()์์ list๋ช ์ ๊ทธ๋๋ก ๋ฃ์ผ๋ฉด ์ ์ฒด๊ฐ set์ผ๋ก ๋ค์ด๊ฐ(์ค๋ณต์ ๊ฑฐ์ฒ๋ฆฌ)
Math.sqrt()๋ ์ธ์๋ก ์ ๋ฌ๋ doubleํ ๋ณ์์ ์ ๊ณฑ๊ทผ์ ๊ณ์ฐํ์ฌ ๋ฐํํ๋ค.
์๋ฅผ ๋ค์ด, Math.sqrt(4) = 2
Set<Integer> set = new HashSet<>(list); // list์ ์๋ ์์๋ฅผ ๋ฐ์๋ค๊ณ ๊ฐ์
answer = new int[set.size()]; // ๋ฐฐ์ด์ ์ผ๋จ ๋ง๋ค๊ณ
int i = 0;
for (int k : set) { // for each๋ฌธ์ผ๋ก ๋ค ๋ฃ์
answer[i] = k;
i++;
int[] array = {1, 23, 456};
StringBuilder sb = new StringBuilder();
for (int i = 0; i < array.length; i++) {
sb.append(array[i]); // 123456
}
Queue<Integer> queue = new LinkedList<>();
for (int i : numbers) { // numbers๋ฐฐ์ด์ ์๋ ์์๋ฅผ ์ถ๊ฐ
queue.offer(i);
}
int num1 = queue.poll(); // int num1 = 1 / [2,3,4]
ํ์์ ๋นผ๋ธ ์์๋ฅผ num1 intํ์ ์ ์ฅ
queue.offer(num1); // [2,3,4,1]
for (int i = 0; i < my_string.length(); i++) { // ๋ฌธ์์ด์ ์ํํฉ๋๋ค.
char c = my_string.charAt(i); // ํ์ฌ ์์น์ ๋ฌธ์๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
if (Character.isDigit(c)) { // ๋ฌธ์๊ฐ ์ซ์์ธ ๊ฒฝ์ฐ
temp += c; // temp ๋ณ์์ ์ซ์๋ฅผ ์ถ๊ฐํฉ๋๋ค.
} else { // ๋ฌธ์๊ฐ ์ซ์๊ฐ ์๋ ๊ฒฝ์ฐ
if (!temp.equals("")) { // temp ๋ณ์์ ์ซ์๊ฐ ์ ์ฅ๋์ด ์๋ ๊ฒฝ์ฐ
answer += Integer.parseInt(temp); // temp๋ณ์์ ์ ์ฅ๋ ์ซ์๋ฅผ ๊ฒฐ๊ณผ๊ฐ์ ๋ํจ
temp = ""; // temp ๋ณ์๋ฅผ ์ด๊ธฐํํฉ๋๋ค.
์๋ฅผ ๋ค๋ฉด my.string์์ ์๋ ๋ฌธ์๊ฐ 1A3b29๋ผ๋ฉด
์ซ์๋ฅผ 1,3,2,9 ๋ฐ๋ก ์ธ์ํ๋๊ฒ ์๋ 1,3,29๋ก ์ธ์๋๊ฒ ํ๋ ๋ฐฉ๋ฒ
String S = "10 Z 20 Z 1";
char noSpaceChar;
for (int i = 0; i < S.length(); i++) { // ๋ฌธ์์ด์ ์ํํฉ๋๋ค.
char c = S.charAt(i); // ํ์ฌ ์์น์ ๋ฌธ์๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
if (c != ' ') { // ๊ณต๋ฐฑ์ด ์๋ ๊ฒฝ์ฐ์๋ง ๋ฌธ์๋ฅผ ์ ์ฅํจ
noSpaceChar = c; // ๊ณต๋ฐฑ์์ค ๋ฌธ์ ๋ชจ์
}
Map<String, String> map = new HashMap<>();
map.put("zero", "0");
for (String key : map.keySet()) { // ๋์๊ฐ๋ฉด์ ํ์ธ
if (numbers.contains(key)) { // key์ด ์์ผ๋ฉด
String value = map.get(key); // ๊ทธ ํค๊ฐ์ value ์ ์ฅ
numbers = numbers.replaceAll(key, value); // ๊ทธ value๋ฅผ ๋ฌธ์์ด์์ ๊ธ์์ ๊ต์ฒด
}
}
long answer = Long.parseLong(numbers);
// 2์ฐจ์ ๋ฐฐ์ด ์์ฑ
String[][] myArray = new String[3][3];
// ๋ฌธ์์ด ์
๋ ฅ
String myString = "Hello, world!";
for (int i = 0; i < myString.length(); i++) {
int row = i / 3;
int col = i % 3;
myArray[row][col] = String.valueOf(myString.charAt(i));
}
String๋ณ์๋ช
.substring(i,j)
i๋ถํฐ j์ ์ ์ธ๋ฑ์ค๊น์ง
double num = 2.1;
int rounded = (int) Math.ceil(num);
System.out.println(rounded); // ์ถ๋ ฅ: 3
String newString = oldString.replaceAll(", ", ">");
StringBuilder sb = new StringBuilder();
sb.append(1);
์์๋ ์ ์!!!
String s = "-1234";
int number = Integer.parseInt(s);
System.out.println(number); // -1234
String s = "1 2 3 a b c";
String[] arr = s.split(" ");
int num1 = Integer.parseInt(arr[2]);
int num2 = Integer.parseInt(arr[5]); // ์ปดํ์ผ ์๋ฌ
System.out.println(num1); // 3
System.out.println(num2); // ์ปดํ์ผ ์๋ฌ
// Integer.parseInt๋ ์ซ์๋ง ๋ฐ๊ฟ ์ ์์.
๋งค ์๊ฐ๋ง๋ค ์ต์ ์ ์ ํ์ ํ๋ ์๊ณ ๋ฆฌ์ฆ
์๋ฅผ ๋ค์ด ๊ฑฐ์ค๋ฆ๋์ ๋์ ์ผ๋ก ์ค ๋๋ฅผ ๊ฐ์ ํด๋ณด๋ฉด, ๊ฐ์ฅ ์ ์ ์์ ๋์ ๊ฐฏ์๋ก ๊ฑฐ์ค๋ฆ๋์ ์ฃผ๋ ค๋ฉด ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋งค ์๊ฐ๋ง๋ค ๊ฐ์ฅ ํฐ ๋์ ์ ์ฌ์ฉํ๋ค.
public static int minCoins(int[] coins, int target) {
Arrays.sort(coins); // ๋์ ๋ค์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ
int count = 0;
for (int i = coins.length - 1; i >= 0; i--) { // ํฐ ์๋ถํฐ
while (target >= coins[i]) {
target -= coins[i]; // ๋จ์ ๊ฑฐ์ค๋ฆ๋ ์ฐจ๊ฐ
count++;
}
}
return count;
}
์ด๋ ค์ฐ๋๊น ์กฐํฉ๋ฌธ์ ๋์ค๋ฉด ๊ฒ์ํด์ ์ฌ์ฉ
๊ฐ์ฅ ํฐ ๋ณ์ ๋๋จธ์ง ๋๋ณ์ ํฉ๋ณด๋ค ์๋ค!
5 < 3+4
Set์ ์๋ ๊ฒ๋ค์ ๊ทธ๋๋ก ๋ฐฐ์ด๋ก ๋ฐ๊พธ๊ธฐ
String[] answer = set.toArray(new String[set.size()]);
์๊ธฐ ์์ ๊ณผ ๋๊ฐ์ ๋ฉ์๋๋ฅผ ํธ์ถ
ํ์ง๋ง, ์ฌ๊ท ํธ์ถ์ ์ฌ์ฉํ ๋๋ ์ข ๋ฃ ์กฐ๊ฑด(Exit Condition)์ ๋ช ํํ ์ค์ ํด์ผ ํฉ๋๋ค. ์ข ๋ฃ ์กฐ๊ฑด์ด ์์ผ๋ฉด ํจ์๊ฐ ๋ฌดํํ ํธ์ถ๋๋ค.
๋ํ์ ์ธ ์๊ฐ ํฉํ ๋ฆฌ์ผ์ด๋ค.
public static int factorial(int n) { // ์ฌ๊ทํจ์
if (n > 0) {
return n * factorial(n-1);
} else {
return 1;
}
}
๋ ์์ ์ต๋๊ณต์ฝ์(Greatest Common Divisor, GCD)๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ
์ ํด๋ฆฌ๋ ํธ์ ๋ฒ์ผ๋ก ์ต๋๊ณต์ฝ์๋ฅผ ์ฝ๊ฒ ๊ตฌํ ์ ์๋ค.
์ฝ๋๋ ์๋์ ๊ฐ๋ค
static int gcd(int x, int y) {
if (y == 0) {
return x;
} else {
return gcd(y, x % y);
}
}
์ต์๊ณต๋ฐฐ์๋ ๋์์ด ๋๋ ๋ ์ ์์ ๊ณฑ์ ์ต๋๊ณต์ฝ์๋ฅผ ๋๋๋ฉด ๋๋ค.
์ฆ ์ต์๊ณต๋ฐฐ์๋ฅผ ๊ตฌํ๋ ค๋ฉด ๋จผ์ ์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํด์ผํ๋ค.
lcm(x,y) = (x * y) / gcd(x, y)
// ๋ฐฐ์ด ํํ์ ์์๋ค์ ๋ํ ์ต์๊ณต๋ฐฐ์ ์ฐพ๊ธฐ
public static int getLCM(int[] arr) {
int lcm = arr[0];
for (int i = 1; i < arr.length; i++) {
lcm = (lcm * arr[i]) / gcd(lcm, arr[i]);
}
return lcm;
}
์ฝ๋ฉํ ์คํธ์์๋ ๋ค์ํ ์ข ๋ฅ์ ๋ฌธ์ ๊ฐ ์ถ์ ๋ฉ๋๋ค. ๊ทธ ์ค์์๋ ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ ๋ฌธ์ ๊ฐ ๋ง์ด ์ถ์ ๋ฉ๋๋ค. ์ด๋ ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ์ด ๋งค์ฐ ๊ฐ๋ ฅํ๊ณ ์ ์ฉํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์๋๋ ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ์ด ์ ํฉํ ์ํฉ์ ๋๋ค.
๋ถํ ์ ๋ณต ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์
์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ์ ๋ถํ ์ ๋ณต ์๊ณ ๋ฆฌ์ฆ์์ ๋งค์ฐ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ ๋ฌธ์ ๋ฅผ ์์ ๋ถ๋ถ ๋ฌธ์ ๋ก ๋๋์ด ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์
๋๋ค. ๊ฐ๊ฐ์ ๋ถ๋ถ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ฐ์๋ ๋ค์ ์ฌ๊ท์ ์ผ๋ก ์๊ณ ๋ฆฌ์ฆ์ ํธ์ถํ์ฌ ํด๊ฒฐํฉ๋๋ค. ๋ํ์ ์ธ ์๋ก๋ ๋ณํฉ ์ ๋ ฌ, ํต ์ ๋ ฌ, ์ด์ง ๊ฒ์ ๋ฑ์ด ์์ต๋๋ค.
ํธ๋ฆฌ ๋ฌธ์
ํธ๋ฆฌ๋ ์์ ๋
ธ๋๊ฐ 2๊ฐ ์ด์์ธ ๋
ธ๋๋ค์ ์งํฉ์ด๋ฉฐ, ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ์ด ํธ๋ฆฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ฐ ๋งค์ฐ ํจ๊ณผ์ ์
๋๋ค. ์ด๋ ํธ๋ฆฌ ๊ตฌ์กฐ๊ฐ ์์ ์ ๊ธฐ์ค์ผ๋ก ํ์ ๋
ธ๋๋ค์ ํฌํจํ๋ ๊ตฌ์กฐ์ด๊ธฐ ๋๋ฌธ์
๋๋ค. ๋ํ์ ์ธ ์๋ก๋ ์ด์ง ํธ๋ฆฌ ์ํ, ํธ๋ฆฌ ๊ตฌ์กฐ์์์ ๊ฒฝ๋ก ํ์, ๊ท ํ ์กํ ์ด์ง ํ์ ํธ๋ฆฌ ๋ฑ์ด ์์ต๋๋ค.
๋ฐฑํธ๋ํน ๋ฌธ์
๋ฐฑํธ๋ํน ๋ฌธ์ ๋ ๊ฐ๋ฅํ ๋ชจ๋ ์กฐํฉ์ ํ์ํ์ฌ ์ต์ ์ ํด๋ฅผ ์ฐพ๋ ๋ฌธ์ ์
๋๋ค. ์ด๋ ์ผ๋ฐ์ ์ผ๋ก ์ฌ๊ท์ ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํ๋ฉ๋๋ค. ๋ํ์ ์ธ ์๋ก๋ ์ค๋์ฟ , N-Queen ๋ฑ์ด ์์ต๋๋ค.
๋์ ๊ณํ๋ฒ ๋ฌธ์
๋์ ๊ณํ๋ฒ ๋ฌธ์ ์์๋ ์ฌ๊ท์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค. ์ด๋ ๋ถ๋ถ ๋ฌธ์ ๋ก ๋๋์ด ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ๊ณผ ์ ์ฌํฉ๋๋ค. ๋ํ์ ์ธ ์๋ก๋ ํผ๋ณด๋์น ์์ด, ์ต์ฅ ๊ณตํต ๋ถ๋ถ ๋ฌธ์์ด ๋ฑ์ด ์์ต๋๋ค.
public static String[] flatten(String[][] arr) {
int rows = arr.length;
int cols = arr[0].length;
String[] flat = new String[rows * cols];
int idx = 0;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
flat[idx++] = arr[i][j];
}
}
return flat;
}
// ์ด ๋ฌธ์ ์ฐธ๊ณ
//2์ฐจ์๋ฐฐ์ด์ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์
๋ ฅ id/pw ์ผ์น์ฌ๋ถ ํ๋จ
class Solution {
public String solution(String[] id_pw, String[][] db) {
for (String[] member : db) {
if (id_pw[0].equals(member[0])) { // ์์ด๋๊ฐ ์ผ์นํ๋ ๊ฒฝ์ฐ
if (id_pw[1].equals(member[1])) { // ๋น๋ฐ๋ฒํธ๋ ์ผ์นํ๋ ๊ฒฝ์ฐ
return "login";
} else { // ๋น๋ฐ๋ฒํธ๊ฐ ์ผ์นํ์ง ์๋ ๊ฒฝ์ฐ
return "wrong pw";
}
}
}
// ์ผ์นํ๋ ํ์ ์ ๋ณด๊ฐ ์๋ ๊ฒฝ์ฐ
return "fail";
}
}
๋ธ๋ฃจํธ ํฌ์ค(brute force) ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ์๋ํด๋ณด๋ ๊ฐ์ฅ ๊ฐ๋จํ๊ณ ์ง์ ์ ์ธ ๋ฐฉ๋ฒ์ ๋๋ค. ์ด ์๊ณ ๋ฆฌ์ฆ์ ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ ๊ฐ๋ฅํ ๊ฒฝ์ฐ์ ์๊ฐ ์๋์ ์ผ๋ก ์ ์ ์์ ํฌ๊ธฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ์๊ณ ๋ฆฌ์ฆ์ ์ผ๋ฐ์ ์ผ๋ก ์ต์ ํ๋์ง ์์ ์ฝ๋๋ฅผ ์์ฑํ๋ฏ๋ก, ๋๊ท๋ชจ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ ๊ฒฝ์ฐ์๋ ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๋ธ๋ฃจํธ ํฌ์ค ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋ฅํ ๋ชจ๋ ์กฐํฉ์ ์์ฑํ๊ณ ๊ฐ ์กฐํฉ์ ๊ฒ์ฌํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์ต๋๋ค. ์ด๋ฅผ ์ํด ๋๊ฐ ์ค์ฒฉ๋ ๋ฃจํ๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๊ฐ ๋ฃจํ๋ ๋ฌธ์ ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
์๋ฅผ ๋ค์ด, ๋ฐฐ์ด์์ ๋ ์์ ํฉ์ด ํน์ ๊ฐ๊ณผ ์ผ์นํ๋์ง ๊ฒ์ฌํ๋ ๊ฒฝ์ฐ, ๋ธ๋ฃจํธ ํฌ์ค ์๊ณ ๋ฆฌ์ฆ์ ๋ฐฐ์ด์ ๋ชจ๋ ๊ฐ๋ฅํ ์์ ๊ฒ์ฌํฉ๋๋ค. ์ด๋ฅผ ์ํด ๋ ๊ฐ์ ์ค์ฒฉ๋ ๋ฃจํ๋ฅผ ์ฌ์ฉํ๋ฉฐ, ์ฒซ ๋ฒ์งธ ๋ฃจํ๋ ๋ฐฐ์ด์ ๊ฐ ์์๋ฅผ ์ํํ๊ณ , ๋ ๋ฒ์งธ ๋ฃจํ๋ ์ฒซ ๋ฒ์งธ ๋ฃจํ ๋ค์ ์์๋ถํฐ ๋ฐฐ์ด์ ๋๊น์ง ์์๋ฅผ ์ํํฉ๋๋ค.
์ผ๋จ ๋ฌธ์์ด๋ก ์ธ์๋๊ณ , ๋ค๋ฅธ ํ์ ์ผ๋ก ๋ค์ ๋ฐ๊ฟ์ค์ผํจ
int num1 = Integer.parseInt(inputs[0]);
String[] inputs = br.readLine().split(" ");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
String lowerCaseStr = str.toLowerCase(); // ๋๋ฌธ์๋ฅผ ์๋ฌธ์๋ก
String upperCaseStr = str.toUpperCase(); // ์๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก
๋ฌธ์๋ฅผ ๋ฌธ์์ด๋ก ๋ฐ๊ฟ ๋ ํธํ๋ค.
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (Character.isLowerCase(c)) {
sb.append(Character.toUpperCase(c));
Math.pow(3, 1) // 3์1์น
public class AddNumberOfDigits {
public static void main(String[] args) {
int n = 123;
int sum = 0;
while (n > 0) {
int digit = n % 10;
sum += digit;
n /= 10;
}
System.out.println(sum); // 6
}
}
10์ผ๋ก ๋๋๋๊ฒ ํฌ์ธํธ
int num = 123;
String str = Integer.toString(num);
System.out.println(str); // ์ถ๋ ฅ: "123"
ArrayList์ Collections ํด๋์ค๋ฅผ ํ์ฉํ ์ ์ ๋ด๋ฆผ์ฐจ์
import java.util.ArrayList;
import java.util.Collections;
public class Descending {
public static void main(String[] args) {
long n = 118372;
ArrayList<Long> digits = new ArrayList<>();
// ์
๋ ฅ๋ฐ์ ์ ์์ ๊ฐ ์๋ฆฟ์๋ฅผ ArrayList์ ์ ์ฅํฉ๋๋ค.
while (n > 0) {
digits.add(n % 10);
n /= 10;
}
// ArrayList๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํฉ๋๋ค.
Collections.sort(digits, Collections.reverseOrder());
// ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ ArrayList๋ฅผ ์ด์ฉํ์ฌ ์๋ก์ด ์ ์๋ฅผ ๋ง๋ญ๋๋ค.
long sorted = 0;
for (Long digit : digits) {
sorted *= 10;
sorted += digit;
}
System.out.println(sorted);
}
}
String.valueOf(sb);
// ๋ฌธ์์ด s๋ฅผ char ๋ฐฐ์ด๋ก ๋ณํ
char[] charArr = s.toCharArray();
// char ๋ฐฐ์ด์ ๋ฌธ์์ด๋ก ๋ณํํ์ฌ ๋ฐํ
return new String(charArr);
๋ ์ค ํ๋๋ผ๋ true๋ฉด true ๋๋ค ์๋๋ฉด false
answer[i] = Integer.toBinaryString(arr1[i] | arr2[i]);
10์ง์ ๋ฐฐ์ด ๋๊ฐ๋ฅผ 2์ง๋ฒ์ผ๋ก ์ฐ์ฐ
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
for (String str:list) {
System.out.print(str);
}
// ์ถ๋ ฅ abc
๋๋ค์์ ํ์ฉํ๋ฉด ์๋์ฒ๋ผ๋ foreach๋ฌธ์ ํ์ฉํ ์ ์๋ค.
list.forEach(str-> System.out.println(str)); // 1๋ฒ
list.forEach(System.out::println); // 2๋ฒ
ex)
phoneNumber.repalceAll("^0-9)","");
์ ๊ทํํ์