03C. ๊ฒ์๋ฌผ์ ์ผ๋ จ๋ฒํธ ์ถ๊ฐํ๊ธฐ
03C. ๊ฒ์๋ฌผ์ ์ผ๋ จ๋ฒํธ ์ถ๊ฐํ๊ธฐ ๊ด๋ จ
๊ณ์ํด์ SBB ์๋น์ค๋ฅผ ๊ฐ์ ํด ๋ณด์.
๊ฒ์๋ฌผ ๋ฒํธ๊ฐ 1๋ถํฐ ์์๋๋ ๋ฌธ์
ํ์ฌ ์ง๋ฌธ ๋ชฉ๋ก ํ๋ฉด์ ์ ์ฌํ ๋ณด๋ฉด ํ์ด์ง๋ง๋ค ๊ฒ์๋ฌผ ๋ฒํธ๊ฐ ํญ์ 1๋ถํฐ ์์๋๋ ๋ฌธ์ ๊ฐ ์๋ค. ํ์ด์ง๋ฅผ ์ด๋ฆฌ์ ๋ฆฌ ์ด๋ํด ๋ด๋ ๊ฒ์๋ฌผ ๋ฒํธ๋ 1๋ถํฐ ์์ํ๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ๋ณด์.
๋๋ฒ์งธ ํ์ด์ง๋ก ์ด๋ํ๋๋ผ๋ ์ฌ์ ํ ๊ฒ์๋ฌผ ๋ฒํธ๊ฐ 1๋ถํฐ ์์๋๋ค.
๊ฒ์๋ฌผ ๋ฒํธ ๊ณต์ ๋ง๋ค๊ธฐ
๋ง์ฝ ์ง๋ฌธ ๊ฒ์๋ฌผ์ด 12๊ฐ๋ผ๋ฉด 0ํ์ด์ง์๋ 12๋ฒ์งธ~3๋ฒ์งธ ๊ฒ์๋ฌผ์ด, 1ํ์ด์ง์๋ 2๋ฒ์งธ~1๋ฒ์งธ ๊ฒ์๋ฌผ์ด ์ญ์์ผ๋ก ํ์๋์ด์ผ ํ๋ค. ์ง๋ฌธ ๊ฒ์๋ฌผ์ ๋ฒํธ๋ฅผ ์ญ์์ผ๋ก ์ ๋ ฌํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ณต์์ ์ ์ฉํด์ผ ํ๋ค.
\text{๋ฒํธ} = \text{์ ์ฒด ๊ฒ์๋ฌผ ๊ฐ์} - \(\text{ํ์ฌ ํ์ด์ง}\times\text{ํ์ด์ง๋น ๊ฒ์๋ฌผ ๊ฐ์}\)-\text{๋์ด ์ธ๋ฑ์ค}
ํญ๋ชฉ | ์ค๋ช |
---|---|
๋ฒํธ | ์ต์ข ํ์๋ ๊ฒ์๋ฌผ ๋ฒํธ |
์ ์ฒด ๊ฒ์๋ฌผ ๊ฐ์ | ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๊ฒ์๋ฌผ ์ ์ฒด ๊ฐ์ |
ํ์ฌ ํ์ด์ง | ํ์ด์ง์์ ํ์ฌ ์ ํํ ํ์ด์ง (๋ง์ฝ ํ์ด์ง๊ฐ 1๋ถํฐ ์์ํ๋ค๋ฉด 1์ ๋นผ์ฃผ์ด์ผ ํ๋ค. ํ์ง๋ง ์คํ๋ง๋ถํธ์ ํ์ด์ง์ 0๋ถํฐ ์์ํ๋ฏ๋ก 1์ ๋บ ํ์๊ฐ ์๋ค.) |
ํ์ด์ง๋น ๊ฒ์๋ฌผ ๊ฐ์ | ํ ํ์ด์ง๋น ๋ณด์ฌ์ค ๊ฒ์๋ฌผ์ ๊ฐ์ |
๋์ด ์ธ๋ฑ์ค | for ๋ฌธ ์์ ๊ฒ์๋ฌผ ์์ (๋์ด ์ธ๋ฑ์ค๋ ํ์ฌ ํ์ด์ง์์ ํ์ํ ์ ์๋ ๊ฒ์๋ฌผ์ ์ธ๋ฑ์ค์ด๋ฏ๋ก 10๊ฐ๋ฅผ ํ์ํ๋ ํ์ด์ง์์๋ 0~9, 2๊ฐ๋ฅผ ํ์ํ๋ ํ์ด์ง์์๋ 0~1๋ก ๋ฐ๋ณต๋๋ค.) |
๊ณต์์ด ์กฐ๊ธ ๋ณต์กํ๋ ์ง๋ฌธ ๊ฒ์๋ฌผ์ด 12๊ฐ์ธ ์ํฉ์ ์๋ก ๋ค์ด ์ค๋ช
ํด ๋ณด์. ํ์ฌ ํ์ด์ง๊ฐ 0
์ด๋ฉด ๋ฒํธ๋ ์ ์ฒด ๊ฒ์๋ฌผ ๊ฐ์ 12์์ ๋์ด ์ธ๋ฑ์ค 0~9๋ฅผ ๋บ 12~3์ด ๋๋ค. ํ์ฌ ํ์ด์ง๊ฐ 1์ด๋ฉด ํ์ด์ง๋น ๊ฒ์๋ฌผ ๊ฐ์๋ 10์ด๋ฏ๋ก 12์์ 10์ ๋บ ๊ฐ 2์ ๋์ด ์ธ๋ฑ์ค 0~1์ ๋ค์ ๋นผ๋ฏ๋ก ๋ฒํธ๋ 2~1์ด๋ค.
๊ฒ์๋ฌผ ๋ฒํธ ๊ณต์์ ์ง๋ฌธ ๋ชฉ๋ก ํ ํ๋ฆฟ์ ์ ์ฉํ๊ธฐ
์ด์ ๊ฒ์๋ฌผ ๋ฒํธ ๊ณต์์ ๋ค์์ฒ๋ผ ์ง๋ฌธ ๋ชฉ๋ก ํ ํ๋ฆฟ์ ์ ์ฉํด ๋ณด์. ๋ค์ ์ฝ๋์ 1๋ฒ์งธ td ์๋ฆฌ๋จผํธ์ ์ด ๊ณต์์ ๊ทธ๋๋ก ์ ์ฉํ๋ค.
ํ์ผ๋ช :
/sbb/src/main/resources/templates/
question_list.html
<html layout:decorate="~{layout}">
<div layout:fragment="content" class="container my-3">
<table class="table">
<thead class="table-dark">
(... ์๋ต ...)
</thead>
<tbody>
<tr th:each="question, loop : ${paging}">
<td th:text="${paging.getTotalElements - (paging.number * paging.size) - loop.index}"></td>
<td>
<a th:href="@{|/question/detail/${question.id}|}" th:text="${question.subject}"></a>
</td>
<td th:text="${#temporals.format(question.createDate, 'yyyy-MM-dd HH:mm')}"></td>
</tr>
</tbody>
</table>
(... ์๋ต ...)
</div>
</html>
๋ค์ ํ๋ ํ ํ๋ฆฟ์ ์ฌ์ฉํ ๊ณต์์ ์์ธ ์ ๋ณด์ด๋ค.
ํญ๋ชฉ | ์ค๋ช |
---|---|
paging.getTotalElements | ์ ์ฒด ๊ฒ์๋ฌผ ๊ฐ์ |
paging.number | ํ์ฌ ํ์ด์ง ๋ฒํธ |
paging.size | ํ์ด์ง๋น ๊ฒ์๋ฌผ ๊ฐ์ |
loop.index | ๋์ด ์ธ๋ฑ์ค(0๋ถํฐ ์์) |
์ด์ ๊ฒ์๋ฌผ ๋ฒํธ๊ฐ ์ฐ๋ฆฌ๊ฐ ์๋ํ ๋๋ก ์ถ๋ ฅ๋๋ค.
์ฑ๊ณต์ด๋ค! ํ์ด์ง๋ฅผ ์ด๋ฆฌ์ ๋ฆฌ ์ด๋ํ๋ฉฐ ๊ฒ์๋ฌผ ๋ฒํธ๋ฅผ ํ์ธํด ๋ณด์.