# Level 1

297개의 포스트
post-thumbnail

xss-1

원본 링크 : https://dreamhack.io/wargame/challenges/28/ 문제 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스이다. XSS 취약점을 이용해 플래그를 획득. 플래그는 flag.txt, FLAG 변수에 있다. 처음 페이지에 들어가게 되면 다음과 같은 화면을 볼 수 있었다. vuln(xss) page 먼저 들어가보니 alert(1) 스크립트가 삽입되어 1이라는 내용의 alert을 확인할 수 있다. ![](https://velog.velcdn.com/ima

2023년 7월 20일
·
0개의 댓글
·

7월 14일 [8일차] 알고리즘 코딩 테스트(141번~160번)

📙 학습 자료 > 💡 2차원 배열, 문자열, 반복문, 조건문 2의 영역 조건에 맞게 수열 변환하기 2 qr code 문자 개수 세기 배열 만들기 4 [조건 문자열](https://school.pr

2023년 7월 8일
·
0개의 댓글
·

7월 13일 [7일차] 알고리즘 코딩 테스트(111번~130번)

📙 학습 자료 > 💡 배열, 문자열, 조건문, 함수 특별한 이차원 배열 1 x 사이의 개수 유한소수 판별하기 등차수열의 특정한 항만 더하기 콜라츠 수열 만들기 [문자열 잘라서 정렬하기](https://school.programmers.co

2023년 7월 8일
·
0개의 댓글
·

7월 12일 [6일차] 알고리즘 코딩 테스트(91번~110번)

📙 학습 자료 > 💡 문자열, 조건문, 반복문, 배열 rny_string 다항식 더하기 최빈값 구하기 조건에 맞게 수열 변환하기 3 정수 찾기 [카운트 업](https://school.programmers.co.kr/learn/courses

2023년 7월 8일
·
0개의 댓글
·
post-thumbnail

[Dreamhack] baby-linux

풀이일 : 2023/05/24 일단 접속 정보로 접속 해본다. 리눅스 터미널로 보이는 화면이 나온다. ls 명령어를 쳐보자. 관심을 끄는 hint.txt라는 텍스트 파일이 존재한다. cat 명령어

2023년 5월 25일
·
0개의 댓글
·
post-thumbnail

[Dreamhack] file-download-1

풀이일 : 2023/05/25 문제 접속 링크에 접속하면 Home 페이지에 지금까지 업로드 한 메모를 확인할 수 있고, Upload My Memo 페이지로 이동하면 새로운 메모를 업로드할 수 있다. 이번에는 문제의 소스 코드를 함께 살펴보자. 문제의 소스코드는 app.py 파일에는 세 가지의 페이지가 존재하는 것을 확인할 수 있다. ![](https://velog.

2023년 5월 25일
·
0개의 댓글
·

[Programmers | Level 1] 달리기 경주

programmers 문제 설명 얀에서는 매년 달리기 경주가 열립니다. 해설진들은 선수들이 자기 바로 앞의 선수를 추월할 때 추월한 선수의 이름을 부릅니다. 예를 들어 1등부터 3등까지 "mumu", "soe", "poe" 선수들이 순서대로 달리고 있을 때, 해설진이 "soe"선수를 불렀다면 2등인 "soe" 선수가 1등인 "mumu" 선수를 추월했다는 것입니다. 즉 "soe" 선수가 1등, "mumu" 선수가 2등으로 바뀝니다. 선수들의 이름이 1등부터 현재 등수 순서대로 담긴 문자열 배열 players와 해설진이 부른 이름을 담은 문자열 배열 cal

2023년 5월 21일
·
0개의 댓글
·

[Programmers | Level 1] 덧칠하기

programmers 문제 설명 어느 학교에 페인트가 칠해진 길이가 n미터인 벽이 있습니다. 벽에 동아리 · 학회 홍보나 회사 채용 공고 포스터 등을 게시하기 위해 테이프로 붙였다가 철거할 때 떼는 일이 많고 그 과정에서 페인트가 벗겨지곤 합니다. 페인트가 벗겨진 벽이 보기 흉해져 학교는 벽에 페인트를 덧칠하기로 했습니다. 넓은 벽 전체에 페인트를 새로 칠하는 대신, 구역을 나누어 일부만 페인트를 새로 칠 함으로써 예산을 아끼려 합니다. 이를 위해 벽을 1미터 길이의 구역 n개로 나누고, 각 구역에 왼쪽부터 순서대로 1번부터 n번까지 번호를 붙였습니다. 그

2023년 5월 10일
·
0개의 댓글
·
post-thumbnail

[우테코] 블랙잭 미션 피드

진짜.. 블로그 글 왤케 밀린걸까.. 바쁘다고는 생각하지만 그정도까지는 아닌거같은데 ...ㅎ (열심히 삽시다 제발 ~) 블랙잭 미션은 앞의 미션과 비슷하게, 객체지향의 원칙을 적용하도록 요구했다. 블랙잭 미션 추가 요구사항 1단계 일급 컬렉션 사용 3개 이상의 인스턴스를 가진 클래스 금지 모든 원시값과 문자열 포장 2단계 1단계와 동일 동반 객체와 mutable 객체 >변경 가능한 컬렉션을 static하게 선언해두는 것은 좋지 않습니다. ALL_CARDS가 모두 remove되는 경우에 이 프로그램은 더 이상 정상적으로 동작하지 않을거에요. 모든 카드를 불변으로 캐시해두는 것과 그 카드들을 하나씩 draw 하는 기능을 별도로 분리해보세요. 진짜.. 왜 저렇게 했는지 기억이 안나지만.. companion object 내부에 변경 가능한 변수를 선언해두었다 ;; companion object

2023년 5월 1일
·
0개의 댓글
·
post-thumbnail

실패율

문제 문제 설명 https://grepp-programmers.s3.amazonaws.com/files/production/bde471d8ac/48ddf1cc-c4ea-499d-b431-9727ee799191.png 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다. 이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했다. 역시 슈퍼 개발자라 대부분의 로직은 쉽게 구현했지만, 실패율을 구하는 부분에서 위기에 빠지고 말았다. 오렐리를 위해 실패율을 구하는 코드를

2023년 4월 22일
·
0개의 댓글
·
post-thumbnail

[우테코] 코틀린을 코틀린 답게 ~

4월 7일인데.. 2월 28일 수업을 이제야 정리하고 있다.. 방학이 끝나기 전에는 이 모든 것을 정리할 수 있겠지? (일단 눈물 닦는데 10일 걸릴 듯...) 이날은.. 코틀린을 더 깔끔하게 ~ 코틀린 답게 작성하는 법에.. 배웠던 것으로 추측된다 ^^..! 확장 함수 중위 호출 연산자 오버로딩 get 메서드에 대한 관례 람다를 괄호 밖으로 빼내는 관례 수신 객체 지정 람다 Extention functions : 확장함수 확장? Kotlin은 클래스에서 상속하거나 Decorator 와 같은 디자인 패턴을 사용하지 않고도 새로운 기능으로 클래스 또는 인터페이스를 확장할 수 있는 기능을 제공한다. 이는 확장이라는 특수 선언을 통해 수행된다. 이때 추가적인 메소드를 구현하면 확장 함수, 추가적인 프로퍼티를 구현하면 확장 프로퍼티 확장함수 확장 함수를 선언하려면 확장되는 유형을 참조하는 수신자 유형을

2023년 4월 7일
·
0개의 댓글
·
post-thumbnail

[프로그래머스] 공원 산책(JavaScript)

문제 설명[링크] 지나다니는 길을 'O', 장애물을 'X'로 나타낸 직사각형 격자 모양의 공원에서 로봇 강아지가 산책을 하려합니다. 산책은 로봇 강아지에 미리 입력된 명령에 따라 진행하며, 명령은 다음과 같은 형식으로 주어집니다. ["방향 거리", "방향 거리" … ] 예를 들어 "E 5"는 로봇 강아지가 현재 위치에서 동쪽으로 5칸 이동했다는 의미입니다. 로봇 강아지는 명령을 수행하기 전에 다음 두 가지를 먼저 확인합니다. 주어진 방향으로 이동할 때 공원을 벗어나는지 확인합니다. 주어진 방향으로 이동 중 장애물을 만나는지 확인합니다. 위 두 가지중 어느 하나라도 해당된다면, 로봇 강아지는 해당 명령을 무시하고 다음 명령을 수행합니다. 공원의 가로 길이가 W, 세로 길이가 H라고 할 때, 공원의 좌측 상단의 좌표는 (0, 0), 우측 하단의 좌표는 (

2023년 3월 28일
·
0개의 댓글
·
post-thumbnail

성격 유형 검사하기

문제 문제 설명 나만의 카카오 성격 유형 검사지를 만들려고 합니다.성격 유형 검사는 다음과 같은 4개 지표로 성격 유형을 구분합니다. 성격은 각 지표에서 두 유형 중 하나로 결정됩니다. | 지표 번호 | 성격 유형 | | --- | --- | | 1번 지표 | 라이언형(R), 튜브형(T) | | 2번 지표 | 콘형(C), 프로도형(F) | | 3번 지표 | 제이지형(J), 무지형(M) | | 4번 지표 | 어피치형(A), 네오형(N) | 4개의 지표가 있으므로 성격 유형은 총 16(=2 x 2 x 2 x 2)가지가 나올 수 있습니다. 예를 들어, "RFMN"이나 "TCMA"와 같은 성격 유형이 있습니다. 검사지에는 총 n개의 질문이 있고, 각 질문에는 아래와 같은 7개의 선택지가 있습니다. 매우 비동의 비동의 약간 비동의 모르겠음 약간 동의 동의 매우 동의 각 질문은 1가지 지표로 성격 유형 점수를 판단합

2023년 3월 20일
·
1개의 댓글
·

[Programmers | Level 1] 둘만의 암호

programmers 문제 설명 두 문자열 s와 skip, 그리고 자연수 index가 주어질 때, 다음 규칙에 따라 문자열을 만들려 합니다. 암호의 규칙은 다음과 같습니다. 문자열 s의 각 알파벳을 index만큼 뒤의 알파벳으로 바꿔줍니다. index만큼의 뒤의 알파벳이 z를 넘어갈 경우 다시 a로 돌아갑니다. skip에 있는 알파벳은 제외하고 건너뜁니다. 예를 들어 s = "aukks", skip = "wbqd", index = 5일 때, a에서 5만큼 뒤에 있는 알파벳은 f지만 [b, c, d, e, f]에서 'b'와 'd'는

2023년 3월 13일
·
0개의 댓글
·

[Programmers | Level 1] 기사단원의 무기

programmers 문제 설명 숫자나라 기사단의 각 기사에게는 1번부터 number까지 번호가 지정되어 있습니다. 기사들은 무기점에서 무기를 구매하려고 합니다. 각 기사는 자신의 기사 번호의 약수 개수에 해당하는 공격력을 가진 무기를 구매하려 합니다. 단, 이웃나라와의 협약에 의해 공격력의 제한수치를 정하고, 제한수치보다 큰 공격력을 가진 무기를 구매해야 하는 기사는 협약기관에서 정한 공격력을 가지는 무기를 구매해야 합니다. 예를 들어, 15번으로 지정된 기사단원은 15의 약수가 1, 3, 5, 15로 4개 이므로, 공격력이 4인 무기를 구매합니다.

2023년 3월 8일
·
0개의 댓글
·

[Programmers | Level 1] 문자열 나누기

programmers 문제 설명 문자열 s가 입력되었을 때 다음 규칙을 따라서 이 문자열을 여러 문자열로 분해하려고 합니다. 먼저 첫 글자를 읽습니다. 이 글자를 x라고 합시다. 이제 이 문자열을 왼쪽에서 오른쪽으로 읽어나가면서, x와 x가 아닌 다른 글자들이 나온 횟수를 각각 셉니다. 처음으로 두 횟수가 같아지는 순간 멈추고, 지금까지 읽은 문자열을 분리합니다. s에서 분리한 문자열을 빼고 남은 부분에 대해서 이 과정을 반복합니다. 남은 부분이 없다면 종료합니다. 만약 두 횟수가 다른 상태에서 더 이상 읽을 글자가 없다면, 역시 지금까지 읽은 문자열을

2023년 3월 7일
·
0개의 댓글
·

[Programmers | Level 1] 과일 장수

programmers 문제 설명 과일 장수가 사과 상자를 포장하고 있습니다. 사과는 상태에 따라 1점부터 k점까지의 점수로 분류하며, k점이 최상품의 사과이고 1점이 최하품의 사과입니다. 사과 한 상자의 가격은 다음과 같이 결정됩니다. 한 상자에 사과를 m개씩 담아 포장합니다. 상자에 담긴 사과 중 가장 낮은 점수가 p (1 ≤ p ≤ k)점인 경우, 사과 한 상자의 가격은 p \* m 입니다. 과일 장수가 가능한 많은 사과를 팔았을 때, 얻을 수 있는 최대 이익을 계산하고자 합니다.(사과는 상자 단위로만 판매하며, 남는 사과는 버립니다) 예를 들어,

2023년 3월 7일
·
0개의 댓글
·

[Programmers | Level 1] 카드 뭉치

programmers 문제 설명 코니는 영어 단어가 적힌 카드 뭉치 두 개를 선물로 받았습니다. 코니는 다음과 같은 규칙으로 카드에 적힌 단어들을 사용해 원하는 순서의 단어 배열을 만들 수 있는지 알고 싶습니다. 원하는 카드 뭉치에서 카드를 순서대로 한 장씩 사용합니다. 한 번 사용한 카드는 다시 사용할 수 없습니다. 카드를 사용하지 않고 다음 카드로 넘어갈 수 없습니다. 기존에 주어진 카드 뭉치의 단어 순서는 바꿀 수 없습니다. 예를 들어 첫 번째 카드 뭉치에 순서대로 ["i", "drink"

2023년 3월 7일
·
0개의 댓글
·
post-thumbnail

[우테코] 다시 돌아온 로또 피드백 찐막

나는 멍청이 ... 24일에 들은 강의를 이제야 정리하고 있다 ... 블랙잭 미션하느라 바쁘기도 했고.. 주말에 공부를 안하기도했고... 잘 쉬고 바쁠때는 바쁜 것도 좋지만.. 강의 내용이 기억 안난다. (진짜 큰일남) 아무튼 그래서 이번 포스팅은 기억 더듬기 + 다시 공부하기 하느라 조금 적는데 오래 걸렸다. (작성하는 시간보다는 하기 싫음을 이겨내는데 정말 많은 시간이 걸렸다.) 역시나 제이슨의 강의였고, 제이슨은 이날도 안드로이드 크루들을 멘붕에 빠뜨리기 위해 만반의 준비를 해왔다. (사실 준비 안하셨을수도 있음..) 아무튼.. 나는 그 멘붕에 아직도 잘 헤어나오지 못한 느낌이랄까나..^^ㅎ 방어적 복사 얕은 복사와 깊은 복사 가장 먼저 간단한 LottoNumb

2023년 3월 6일
·
0개의 댓글
·
post-thumbnail

[우테코] 로또 피드백 2

수업을 시작하기에 앞서 제이슨이 C#이 가장 트렌드를 이끄는 언어라면서 ~ 코틀린의 미래를 보고 싶다면 C#을 보라고 했다 (이런 말 안했을수도 있음.. 그냥 내 기억.. 😉) 저번 시간에 진짜 머리 터지는 줄 알아서 수업 내용 정리는 뒤로하고 로또 2단계 미션까지 어제 제출했었다. 그리고 오늘 들은 수업 내용 까먹기 전에 바로 정리 갈기기 ~ (하하호호) 하지만 결국 포스팅은 2주일이 지나서야 올리는 사람.. (나야나.. 나야나..) value class 먼저 저번에 동등성-동일성에 대한 퀴즈가 재밌으셨는지 value class에 대해서도 언급하고 지나갔다. wrapper 클래스를 사용하면 함수의 가독성이 좋아진다. 하지만 호출할 때마다 객체를 생성해야하기 때문에 비용이 발생한다. 이 비용을 절감하기 위해 만들어진 것이 value class이다. 특징 value class는 인스턴스화가 일어나지 않는다. (객체가 아님) 힙 메모

2023년 3월 5일
·
0개의 댓글
·