```
백준 25703번 포인터 공부 Kotlin 구현해보기
```

이번 글을 통해 배워갈 내용
- 백준 25703번 포인터 공부 풀이
https://www.acmicpc.net/problem/25703
25703번: 포인터 공부
용모는 오늘 객체지향프로그래밍1 시간에 포인터에 대해 배웠다. 포인터란, 프로그래밍 언어에서 다른 변수, 혹은 그 변수의 메모리 공간주소를 가리키는 변수를 의미한다. C/C++에서 포인터는 (
www.acmicpc.net
포인터란 변수의 메모리 공간 주소를 가리키는 변수를 의미하며
*은 변수가 포인터임을 의미하고
&은 변수의 메모리 주소값을 의미합니다.
백준 25703번 포인터 공부는
난이도 브론즈 등급의 문제로서
주어지는 숫자만큼 아래와 같은 형식으로
포인터 연결을 하는데 필요한
식을 출력해주면 되는 문제입니다
int a;
int *ptr = &a;
int **ptr2 = &ptr;
int ***ptr3 = &ptr2;
int ****ptr4 = &ptr3;
30분 정도 위에 링크를 방문하셔서 풀어보시고
안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.
첫 줄에는
int a;를 출력하고
a를 두 번째 줄에 &a 로 주소 값으로 활용하고
두 번째 줄에서 포인터를 건 ptr을 다시 세 번째 줄에서 활용하는 방법으로
for문을 돌려서 해결했습니다.
fun main(args: Array<String>) {
// 입력
val n = (readln()).toInt()
// 출력
print(findPtrDecl(n))
}
fun findPtrDecl(n: Int): String {
var sb = StringBuilder()
sb.append("int a;\n")
var prevVal = "a"
for (i in 1 until (n + 1)) {
val nextVal = if (i > 1) "ptr${i}" else "ptr"
sb.append("int ${"*".repeat(i)}${nextVal} = &$prevVal;\n")
prevVal = nextVal
}
sb.setLength(sb.length - 1)
return sb.toString()
}
// https://codemasterkimc.tistory.com/
읽어주셔서 감사합니다
무엇인가 얻어가셨기를 바라며
오늘도 즐거운 코딩 하시길 바랍니다 ~ :)
728x90
'Kotlin > Kotlin 알고리즘' 카테고리의 다른 글
| 백준 25625번 샤틀버스 Kotlin 구현해보기 (0) | 2022.10.03 |
|---|---|
| 백준 25704번 출석 이벤트 Kotlin 구현해보기 (2) | 2022.10.03 |
| 백준 13706번 제곱근 Kotlin 구현해보기 (0) | 2022.09.18 |
| 백준 14910번 오르막 Kotlin 구현해보기 (0) | 2022.09.17 |
| 백준 24751번 Betting Kotlin 구현해보기 (0) | 2022.09.15 |