Skip to content

Commit 7829ced

Browse files
chore: sync baekjoon archives
1 parent b9b1308 commit 7829ced

File tree

4 files changed

+236
-0
lines changed

4 files changed

+236
-0
lines changed
Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
# [level 0] 배열 만들기 4 - 181918
2+
3+
[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/181918)
4+
5+
### 성능 요약
6+
7+
메모리: 83.3 MB, 시간: 5.81 ms
8+
9+
### 구분
10+
11+
코딩테스트 연습 > 코딩 기초 트레이닝
12+
13+
### 채점결과
14+
15+
정확성: 100.0<br/>합계: 100.0 / 100.0
16+
17+
### 제출 일자
18+
19+
2026년 03월 04일 17:34:59
20+
21+
### 문제 설명
22+
23+
<p>정수 배열 <code>arr</code>가 주어집니다. <code>arr</code>를 이용해 새로운 배열 <code>stk</code>를 만드려고 합니다.</p>
24+
25+
<p>변수 <code>i</code>를 만들어 초기값을 0으로 설정한 후 <code>i</code>가 <code>arr</code>의 길이보다 작으면 다음 작업을 반복합니다.</p>
26+
27+
<ul>
28+
<li>만약 <code>stk</code>가 빈 배열이라면 <code>arr[i]</code>를 <code>stk</code>에 추가하고 <code>i</code>에 1을 더합니다.</li>
29+
<li><code>stk</code>에 원소가 있고, <code>stk</code>의 마지막 원소가 <code>arr[i]</code>보다 작으면 <code>arr[i]</code>를 <code>stk</code>의 뒤에 추가하고 <code>i</code>에 1을 더합니다.</li>
30+
<li><code>stk</code>에 원소가 있는데 <code>stk</code>의 마지막 원소가 <code>arr[i]</code>보다 크거나 같으면 <code>stk</code>의 마지막 원소를 <code>stk</code>에서 제거합니다.</li>
31+
</ul>
32+
33+
<p>위 작업을 마친 후 만들어진 <code>stk</code>를 return 하는 solution 함수를 완성해 주세요.</p>
34+
35+
<hr>
36+
37+
<h5>제한사항</h5>
38+
39+
<ul>
40+
<li>1 ≤ <code>arr</code>의 길이 ≤ 100,000
41+
42+
<ul>
43+
<li>1 ≤ <code>arr</code>의 원소 ≤ 100,000</li>
44+
</ul></li>
45+
</ul>
46+
47+
<hr>
48+
49+
<h5>입출력 예</h5>
50+
<table class="table">
51+
<thead><tr>
52+
<th>arr</th>
53+
<th>result</th>
54+
</tr>
55+
</thead>
56+
<tbody><tr>
57+
<td>[1, 4, 2, 5, 3]</td>
58+
<td>[1, 2, 3]</td>
59+
</tr>
60+
</tbody>
61+
</table>
62+
<hr>
63+
64+
<h5>입출력 예 설명</h5>
65+
66+
<p>입출력 예 #1</p>
67+
68+
<ul>
69+
<li>각 작업을 마친 후에 배열의 변화를 나타내면 다음 표와 같습니다.</li>
70+
</ul>
71+
<table class="table">
72+
<thead><tr>
73+
<th>i</th>
74+
<th>arr[i]</th>
75+
<th>stk</th>
76+
</tr>
77+
</thead>
78+
<tbody><tr>
79+
<td>0</td>
80+
<td>1</td>
81+
<td>[]</td>
82+
</tr>
83+
<tr>
84+
<td>1</td>
85+
<td>4</td>
86+
<td>[1]</td>
87+
</tr>
88+
<tr>
89+
<td>2</td>
90+
<td>2</td>
91+
<td>[1, 4]</td>
92+
</tr>
93+
<tr>
94+
<td>2</td>
95+
<td>2</td>
96+
<td>[1]</td>
97+
</tr>
98+
<tr>
99+
<td>3</td>
100+
<td>5</td>
101+
<td>[1, 2]</td>
102+
</tr>
103+
<tr>
104+
<td>4</td>
105+
<td>3</td>
106+
<td>[1, 2, 5]</td>
107+
</tr>
108+
<tr>
109+
<td>4</td>
110+
<td>3</td>
111+
<td>[1, 2]</td>
112+
</tr>
113+
<tr>
114+
<td>-</td>
115+
<td>-</td>
116+
<td>[1, 2, 3]</td>
117+
</tr>
118+
</tbody>
119+
</table>
120+
<ul>
121+
<li>따라서 [1, 2, 3]을 return 합니다.</li>
122+
</ul>
123+
124+
125+
> 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import java.util.*;
2+
3+
class Solution {
4+
public int[] solution(int[] arr) {
5+
int[] stk = new int[arr.length];
6+
int n=0;
7+
int i=0;
8+
while (i<arr.length){
9+
if (n==0){
10+
stk[n]=arr[i];
11+
n++;
12+
i++;
13+
} else if (n!=0 && stk[n-1]<arr[i]){
14+
stk[n]=arr[i];
15+
n++;
16+
i++;
17+
}else{
18+
n--;
19+
}
20+
}
21+
return Arrays.copyOf(stk, n);
22+
}
23+
}
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# [level 0] [PCCE 기출문제] 3번 / 수 나누기 - 340205
2+
3+
[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/340205)
4+
5+
### 성능 요약
6+
7+
메모리: 70.7 MB, 시간: 248.45 ms
8+
9+
### 구분
10+
11+
코딩테스트 연습 > 코딩 기초 트레이닝
12+
13+
### 채점결과
14+
15+
정확성: 100.0<br/>합계: 100.0 / 100.0
16+
17+
### 제출 일자
18+
19+
2026년 03월 04일 17:05:47
20+
21+
### 문제 설명
22+
23+
<p>2자리 이상의 정수 <code>number</code>가 주어집니다. 주어진 코드는 이 수를 2자리씩 자른 뒤, 자른 수를 모두 더해서 그 합을 출력하는 코드입니다. 코드가 올바르게 작동하도록 한 줄을 수정해 주세요.</p>
24+
25+
<hr>
26+
27+
<h4>제한사항</h4>
28+
29+
<ul>
30+
<li>10 ≤ <code>number</code> ≤ 2,000,000,000
31+
32+
<ul>
33+
<li><code>number</code>의 자릿수는 2의 배수입니다.</li>
34+
</ul></li>
35+
</ul>
36+
37+
<hr>
38+
39+
<h4>입출력 예</h4>
40+
41+
<p>입력 #1</p>
42+
<div class="highlight"><pre class="codehilite"><code>4859
43+
</code></pre></div>
44+
<p>출력 #1</p>
45+
<div class="highlight"><pre class="codehilite"><code>107
46+
</code></pre></div>
47+
<p>입력 #2</p>
48+
<div class="highlight"><pre class="codehilite"><code>29
49+
</code></pre></div>
50+
<p>출력 #2</p>
51+
<div class="highlight"><pre class="codehilite"><code>29
52+
</code></pre></div>
53+
<hr>
54+
55+
<h4>입출력 예 설명</h4>
56+
57+
<p>입출력 예 #1</p>
58+
59+
<ul>
60+
<li>입력된 수를 2자리씩 나눠 합치면 다음과 같습니다.</li>
61+
<li>48 + 59 = 107</li>
62+
</ul>
63+
64+
<p>입출력 예 #2</p>
65+
66+
<ul>
67+
<li>입력된 수를 2자리씩 나눠 합치면 다음과 같습니다.</li>
68+
<li>29 &nbsp;= 29</li>
69+
</ul>
70+
71+
72+
> 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import java.util.Scanner;
2+
3+
public class Solution {
4+
public static void main(String[] args) {
5+
Scanner sc = new Scanner(System.in);
6+
int number = sc.nextInt();
7+
int answer = 0;
8+
9+
while(number >0){
10+
answer += number % 100;
11+
number /= 100;
12+
}
13+
14+
System.out.println(answer);
15+
}
16+
}

0 commit comments

Comments
 (0)