New Score :0
High Score :0
Run Best
NICE BUSINESS TYPE INDICATOR
3. ๊ธ์ ์ ์น๊ตฌ์๊ฒ ๋น๋ ธ๋๋ฐ ์ค๋์ด ๋์ ์ฃผ๊ธฐ๋ก ํ๋ .. ๊ทธ๋ฐ๋ฐ ์นด๋๊ฐ์ ๋ด์ผํ๋ ๋ ๋ ์ค๋์ธ๋ฐ... ์ด๊ฑธ ์ด์ฉ๋...
4. ์ฐ๋ฆฌ ํ์ฌ๋ ์ค์ํ ์์ฌ ๊ฒฐ์ ์ ํ ๋?
5. ์ด์ฌํ ์ผํ ๋๋ฅผ ์ํ ์ ๋ฌผ์ ์ฃผ๊ณ ์ถ๋ค. ์ด๋ค๊ฒ ์ข์๊น?
6. ์ํ์์ ํฌ์์ํ์ ์ถ์ฒ๋ฐ์๋ค. ์ด๋ค๊ฑธ ๊ฐ์ ํ์ง?
7. ํ์ฌ์์์ ๋๋?
8. ๊ฟ์์ ๊นจ์ด๋๋ 20๋ ์ ์ผ๋ก ๋์๊ฐ๋ค. ๋น์ ์ด ์ ์ผ ๋จผ์ ํ๋์ผ์?
9. ๋ด๊ฐ ์ธ์ฌ ๋ด๋น์๋ผ๋ฉด ์ ๊ท ์ ์ฌ์ ์ฑ์ฉ ์ ์ ์ผ ์ค์ํ๊ฒ ๋ณด๋๊ฒ์?
10. ํ์ฌ์ ์ ๋ง ์ซ์ดํ๋ ๋๋ฃ๊ฐ ์๋ค๋ฉด?
11. ๊ฐ๋ํ ์ง์ ๊ฐ์ฅ์ด ๋์๋ค.. ์๋ ์ ์์ผ ๋ ์ ๋ฌผ์?
12. ํ์ ํ์ฌ ์ถ๊ทผ ์คํ์ผ์?
13.ํ์ฌ ์ฒด์ก๋ํ ํ๋ ๋ ์ด๋ค. ์ค๋ ๋ญํ์ง?
14. ๋์ ์ ๋ฌด ์คํ์ผ์?
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
public class PreviousDaysExcludingWeekends {
public static List<LocalDate> getPreviousWeekdays(int days) {
List<LocalDate> weekdays = new ArrayList<>();
LocalDate date = LocalDate.now().minusDays(1); // start from yesterday
while (weekdays.size() < days) {
if (!isWeekend(date)) {
weekdays.add(date);
}
date = date.minusDays(1); // go to previous day
}
return weekdays;
}
private static boolean isWeekend(LocalDate date) {
DayOfWeek dayOfWeek = date.getDayOfWeek();
return dayOfWeek == DayOfWeek.SATURDAY || dayOfWeek == DayOfWeek.SUNDAY;
}
}
์ฝ๋์ ๋ํ ์ค๋ช
- ํ์ํ ํด๋์ค LocalDate, DayOfWeek, ArrayList ๋ฐ List๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
- ์ ์ 'days'๋ฅผ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํ๊ณ 'LocalDate' ๊ฐ์ฒด ๋ชฉ๋ก์ ๋ฐํํ๋ ๊ณต๊ฐ ์ ์ ๋ฉ์๋ 'getPreviousWeekdays'๋ฅผ ๋ง๋ญ๋๋ค.
- ํ์ผ์ ์ ์ฅํ๊ธฐ ์ํด ์๋ก์ด ArrayList๋ฅผ ์์ฑํ๊ณ LocalDate ๊ฐ์ฒด date๋ฅผ ์ด์ ๋ก ์ด๊ธฐํํฉ๋๋ค.
- 'while' ๋ฃจํ๋ฅผ ์ฌ์ฉํ์ฌ ๋ชฉ๋ก์ ํ์ผ์ด ์ถฉ๋ถํ ๋๊น์ง ์ด์ ๋ ์ง๋ฅผ ๋ฐ๋ณตํฉ๋๋ค.
- ๋ฃจํ ๋ด์์ isWeekend ๋์ฐ๋ฏธ ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ date๊ฐ ์ฃผ๋ง์ธ์ง ํ์ธํฉ๋๋ค. ์ฃผ๋ง์ด ์๋ ๊ฒฝ์ฐ 'ํ์ผ' ๋ชฉ๋ก์ ์ถ๊ฐํฉ๋๋ค.
- '๋ ์ง'๋ฅผ ํ๋ฃจ์ฉ ์ค์ด๊ณ ๋ฃจํ๋ฅผ ๊ณ์ํฉ๋๋ค.
- ๋ง์ง๋ง์ผ๋ก weekdays ๋ชฉ๋ก์ ๋ฐํํฉ๋๋ค.
isWeekend ๋ฉ์๋๋ LocalDate ๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ์์ ํ ์์ผ์ด๋ ์ผ์์ผ์ด๋ฉด true๋ฅผ ๋ฐํํ๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด false๋ฅผ ๋ฐํํ๋ ๋น๊ณต๊ฐ ๋์ฐ๋ฏธ ๋ฉ์๋์ ๋๋ค. ์ฃผ๋ง์ ํํฐ๋งํ๊ธฐ ์ํด getPreviousWeekdays ๋ฉ์๋ ๋ด์์ ์ด ๋ฉ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ด ํจ์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด getPreviousWeekdays(5)๋ฅผ ํธ์ถํ์ฌ ์ด์ 5๊ฐ์ ํ์ผ(์ฃผ๋ง ์ ์ธ)์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ์ด ํจ์๋ ๋ ์ง ๋ฐ ์๊ฐ ์์ ์ ํธ๋ฆฌํ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ Java 8 ๋ ์ง/์๊ฐ API๋ฅผ ์ฌ์ฉํฉ๋๋ค.
public void cal() {
int dayOfWeek = 0;
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_WEEK, c.get(Calendar.DAY_OF_MONTH));
DateFormat df = new SimpleDateFormat("yyyyMMdd EEE");
for(int i = 0; i <= 4; i++) {
dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
if (dayOfWeek == Calendar.MONDAY) {
c.add(Calendar.DATE, -3);
} else if(dayOfWeek == Calendar.SUNDAY) {
c.add(Calendar.DATE, -2);
} else {
c.add(Calendar.DATE, -1);
}
}
System.out.println(df.format(c.getTime()));
}