320x100

🔍 형벌 종류 비교

항목 벌금형 금고형
정의 일정한 금액의 돈을 국가에 납부하는 형 교도소에 수감되되 강제노역은 없는 자유형
집행 방식 돈으로 처벌을 대신함 일정 기간 구금됨 (노역은 없음)
형의 무게 상대적으로 가벼움 징역보다는 가볍지만, 벌금보다 무거움
노역 여부 없음 없음 (단, 일부 작업 참여는 가능)
불이행 시 납부하지 않으면 노역장 유치 가능 집행유예가 없는 경우 실형으로 수감됨
예시 음주운전 벌금 500만원 등 명예훼손, 업무상 과실치사 등에서 선고됨

🔎 징역형과의 차이 (참고)

  • 징역형은 금고형과 마찬가지로 수감되는 형벌이지만, 강제 노역이 반드시 따릅니다.
  • 금고형은 형벌은 받되 노역의 강제성은 없음이 핵심 차이입니다.

✔️ 쉽게 예를 들면

  • 벌금형: “잘못했으니 돈 내고 끝내라”
  • 금고형: “잘못했으니 교도소에서 반성하고 있어라, 하지만 노동은 안 시킬게”
  • 징역형: “잘못했으니 교도소에서 일도 하면서 반성해라”

 

반응형
320x100
도움이되나? 영어표현

"Is it helpful?" 또는 "Does it help?"

이 두 표현이 상황에 따라 적절하게 사용됩니다.

  • "Is it helpful?": 현재 제공된 것이 유용한지 묻는 표현입니다.
  • "Does it help?": 어떤 행동이나 정보가 실제로 도움을 주고 있는지 확인할 때 사용하는 표현입니다.

-----------------------------------------------------------------------------------------------------------------------------------------

"화상영어는 도움이 안돼" 영어표현

 

"Online English classes don't help."
또는
"Video English lessons aren't helpful."

이 두 표현 모두 자연스럽게 사용할 수 있습니다.

  • 첫 번째 표현은 직설적이고 간단하게 "도움이 되지 않는다"는 의미를 전달합니다.
  • 두 번째 표현은 약간 더 부드러운 뉘앙스로 "유용하지 않다"는 뜻을 나타냅니다.

---------------------------------------------------------------------------------------------------------------------

"화상영어는 영어실력에 도움이 안돼" 또는 "화상영어는 영어에 도움이 안돼" 영어포현

 

"Online English classes don't help improve English skills."
또는
"Online English lessons don't help with English."

 

선택 기준:

  1. 영어 실력에 초점
    • "Online English classes don't help improve English skills."
      → 영어 실력을 구체적으로 언급하고 싶을 때 사용.
  2. 일반적인 영어에 대한 도움
    • "Online English lessons don't help with English."
      → 좀 더 간단하고 포괄적으로 표현하고 싶을 때 적
반응형
320x100

이동 관련 함수

  1. turtle.forward(distance): 앞으로 이동
  2. turtle.backward(distance): 뒤로 이동
  3. turtle.right(angle): 시계 방향 회전
  4. turtle.left(angle): 반시계 방향 회전
  5. turtle.goto(x, y): 특정 좌표로 이동
  6. turtle.setx(x): x축 좌표 설정
  7. turtle.sety(y): y축 좌표 설정
  8. turtle.setheading(angle): 거북이의 방향 설정
  9. turtle.home(): 시작점으로 돌아감
  10. turtle.circle(radius, extent=None, steps=None): 원 또는 호 그리기
  11. turtle.setpos(x, y): 좌표 설정 (goto와 동일)
  12. turtle.setposition(x, y): 좌표 설정 (goto와 동일)
  13. turtle.towards(x, y): 특정 좌표로 가는 각도 반환
  14. turtle.xcor(): 현재 x좌표 반환
  15. turtle.ycor(): 현재 y좌표 반환
  16. turtle.distance(x, y): 특정 좌표까지의 거리 반환
  17. turtle.shearfactor(shear=None): 기울기 설정 및 반환
  18. turtle.seth(angle): 방향을 특정 각도로 설정
  19. turtle.get_shapepoly(): 현재 모양의 다각형 좌표 반환
  20. turtle.settiltangle(angle): 거북이 모양의 기울기 각도 설정

그리기 관련 함수

  1. turtle.pendown(): 선 그리기 시작
  2. turtle.penup(): 선 그리기 중지
  3. turtle.pensize(width): 선의 두께 설정
  4. turtle.pencolor(color): 선 색상 설정
  5. turtle.fillcolor(color): 채우기 색상 설정
  6. turtle.begin_fill(): 도형 채우기 시작
  7. turtle.end_fill(): 도형 채우기 끝
  8. turtle.dot(size=None, color=None): 점 그리기
  9. turtle.write(arg, move=False, align='left', font=('Arial', 8, 'normal')): 텍스트 쓰기
  10. turtle.stamp(): 현재 거북이 모양을 도장처럼 찍음
  11. turtle.begin_poly(): 다각형 그리기 시작
  12. turtle.end_poly(): 다각형 그리기 끝
  13. turtle.get_poly(): 현재 그려진 다각형 반환
  14. turtle.filling(): 현재 채우기 모드 상태 확인
  15. turtle.clearstamp(stampid): 특정 도장 지우기
  16. turtle.clearstamps(n=None): n개 또는 모든 도장 지우기
  17. turtle.ondrag(fun, btn=1): 드래그 이벤트 처리
  18. turtle.onclick(fun, btn=1): 클릭 이벤트 처리
  19. turtle.onrelease(fun, btn=1): 클릭 해제 이벤트 처리
  20. turtle.shapesize(stretch_wid=None, stretch_len=None, outline=None): 거북이 크기 설정
  21. turtle.resizemode(rmode): 리사이즈 모드 설정
  22. turtle.tilt(angle): 거북이 모양 기울기 설정
  23. turtle.tiltangle(angle=None): 기울기 각도 설정/반환
  24. turtle.getpen(): 현재 펜 객체 반환
  25. turtle.getscreen(): 현재 화면 객체 반환
  26. turtle.colormode(cmode=None): 색상 모드 설정 (1.0 또는 255)
  27. turtle.getcanvas(): Tkinter 캔버스 객체 반환
  28. turtle.fill(True/False): 채우기 여부 설정

상태 관련 함수

  1. turtle.speed(speed): 거북이 속도 설정
  2. turtle.position(): 현재 좌표 반환
  3. turtle.heading(): 현재 방향 반환
  4. turtle.xcor(): x 좌표 반환
  5. turtle.ycor(): y 좌표 반환
  6. turtle.distance(x, y): 특정 좌표까지의 거리 계산
  7. turtle.isdown(): 펜이 내려갔는지 여부 확인
  8. turtle.isvisible(): 거북이가 보이는지 확인
  9. turtle.shapesize(stretch_wid=None, stretch_len=None, outline=None): 거북이 크기 설정
  10. turtle.degrees(): 각도 단위를 도로 설정
  11. turtle.radians(): 각도 단위를 라디안으로 설정
  12. turtle.tiltangle(angle=None): 기울기 각도 설정 및 반환
  13. turtle.write_docstringdict(): 함수의 docstring 사전 저장
  14. turtle.ondrag(fun, btn=1): 드래그 이벤트 설정
  15. turtle.delay(): 터틀 움직임 지연 시간 설정 및 반환

모양 관련 함수

  1. turtle.shape(name): 거북이 모양 설정 ('arrow', 'turtle', 'circle', 'square', 'triangle', 'classic')
  2. turtle.shapesize(stretch_wid=None, stretch_len=None, outline=None): 모양의 크기 조절
  3. turtle.get_shapepoly(): 현재 모양의 다각형 좌표 반환
  4. turtle.fillcolor(color): 도형의 채우기 색상 설정
  5. turtle.shape(name): 거북이의 모양 설정
  6. turtle.stamp(): 거북이 모양을 도장처럼 찍음
  7. turtle.clearstamp(stampid): 특정 도장 지우기
  8. turtle.clearstamps(n=None): n개 또는 모든 도장 지우기
  9. turtle.tilt(angle): 거북이 모양 회전
  10. turtle.tiltangle(angle): 기울기 각도 설정 및 반환
  11. turtle.get_shapepoly(): 현재 모양의 다각형 좌표 반환
  12. turtle.fill(True/False): 도형 채우기 여부 설정

화면 관련 함수

  1. turtle.bgcolor(color): 배경 색상 설정
  2. turtle.bgpic(picname): 배경 이미지 설정
  3. turtle.clear(): 화면의 그림 지우기
  4. turtle.clearscreen(): 화면 전체 초기화
  5. turtle.reset(): 모든 설정 초기화
  6. turtle.hideturtle(): 거북이 숨기기
  7. turtle.showturtle(): 거북이 보이기
  8. turtle.tracer(n=None, delay=None): 애니메이션 속도 조절
  9. turtle.update(): 화면 업데이트
  10. turtle.screensize(canvwidth=None, canvheight=None): 화면 크기 설정
  11. turtle.setup(width=0.5, height=0.75, startx=None, starty=None): 화면 창의 크기 설정
  12. turtle.title(title): 창 제목 설정
  13. turtle.window_width(): 창의 너비 반환
  14. turtle.window_height(): 창의 높이 반환
  15. turtle.delay(): 움직임 지연 설정
  16. turtle.exitonclick(): 클릭 시 창 닫기
  17. turtle.listen(): 이벤트 리스너 활성화
  18. turtle.mainloop(): 이벤트 루프 실행

이벤트 처리 및 기타 함수

  1. turtle.onclick(fun, btn=1): 클릭 이벤트 처리
  2. turtle.ondrag(fun, btn=1): 드래그 이벤트 처리
  3. turtle.onrelease(fun, btn=1): 마우스 버튼 해제 이벤트 처리
  4. turtle.onkey(fun, key): 특정 키보드 이벤트 처리
  5. turtle.listen(): 이벤트 리스너 활성화
  6. turtle.delay(delay=None): 애니메이션 지연 시간 설정
  7. turtle.bye(): 창 닫기
  8. turtle.mode(mode=None): 거북이 모드 설정 ('standard', 'logo')
  9. turtle.colormode(cmode=None): 색상 모드 설정 (1.0 또는 255)
  10. turtle.getcanvas(): Tkinter Canvas 객체 가져오기
  11. turtle.getshapes(): 사용할 수 있는 모든 모양 리스트 가져오기
  12. turtle.shearfactor(shear=None): 기울기 설정 및 반환
반응형
320x100

주격보어주어의 상태나 성질을 보충하여 설명하는 말을 뜻합니다. 주어가 어떤 사람이나 사물인지를 설명하거나 주어의 상태가 무엇인지를 알려줍니다. 주격보어는 주어와 동격 관계에 있으며, 주어와 동일한 대상을 가리킵니다.

주격보어는 주로 be 동사상태를 나타내는 동사(become, seem, appear 등) 뒤에 옵니다.

예시

  1. She is a teacher.
    • 주어: She
    • be 동사: is
    • 주격보어: a teacher
    • 해석: 그녀는 선생님이다.
      • 여기서 **"a teacher"**는 **주어인 "She"**를 설명하는 주격보어입니다.
  2. The sky became dark.
    • 주어: The sky
    • 동사: became
    • 주격보어: dark
    • 해석: 하늘이 어두워졌다.
      • **"dark"**는 주어인 **"The sky"**의 상태를 설명하는 주격보어입니다.

주격보어의 역할

  • 주어의 정체나 상태를 보충 설명합니다.
  • 주격보어는 주어와 동일한 대상이므로 주어의 성질, 상태, 또는 직업, 신분을 나타낼 때 사용됩니다.

주격보어가 되는 것들

  • 명사: He is a student. (그는 학생이다.)
  • 형용사: The soup is hot. (그 수프는 뜨겁다.)
  • to 부정사: My dream is to travel. (내 꿈은 여행하는 것이다.)
  • 동명사: His hobby is reading. (그의 취미는 독서이다.)

주격보어는 항상 주어를 설명하는 역할을 하며, 주어와 긴밀한 관계를 유지합니다.

 

--------------------------------------To 부정사의 주격 보어 역할을 할때--------------------------------------------------------------

 

be 동사 뒤에 to 부정사가 나오는 경우는 흔히 "to 부정사"가 주어 또는 목적어를 설명할 때 사용됩니다. 여기서 to 부정사는 동작이나 목적을 설명하는 데 사용되며, be 동사와 결합해 그 주어의 상태나 목적을 나타냅니다.

예를 들어, 문장에서 **"My dream is to see many wild animals"**에서:

  • My dream: 주어
  • is: be 동사
  • to see many wild animals: 주격 보어로, 꿈이 무엇인지 설명하는 역할을 함

여기서 **"to see"**는 "보는 것"이라는 의미로 **"꿈"**을 설명하는 주격 보어 역할을 하고 있습니다. 즉, "내 꿈은 (무엇이다)"라는 상태를 설명할 때, 그 꿈의 구체적인 내용을 **"to see"**라는 to 부정사로 나타낸 것입니다.

예시

  1. His goal is to become a doctor.
    • 그의 목표는 의사가 되는 것이다.
    • 여기서 **"to become a doctor"**는 His goal(주어)을 설명하는 to 부정사입니다.
  2. Their plan is to travel around the world.
    • 그들의 계획은 세계를 여행하는 것이다.
    • **"to travel around the world"**는 Their plan(주어)을 설명합니다.

이처럼 be 동사 뒤에 오는 to 부정사는 주어의 상태나 목적을 설명하는 역할을 합니다.

반응형
320x100

파이썬에서 리스트 슬라이싱(slicing)은 리스트의 부분 집합을 추출하는 강력하고 유연한 방법입니다. 리스트 슬라이스는 다음과 같은 문법을 따릅니다:

 

list[start:end:step]

여기서 각 부분은 다음과 같습니다:

  • start: 슬라이스의 시작 인덱스입니다. 이 위치의 요소는 포함됩니다.
  • end: 슬라이스의 종료 인덱스입니다. 이 위치의 요소는 포함되지 않습니다.
  • step (선택적): 슬라이스에서 요소를 가져오는 간격입니다. 기본값은 1입니다.

 

이제 몇 가지 예제를 통해 리스트 슬라이싱을 살펴보겠습니다.

예제 1: 기본적인 슬라이스

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 인덱스 2부터 5까지 (인덱스 5는 포함되지 않음)
slice1 = my_list[2:5]
print(slice1)  # 출력: [3, 4, 5]

my_list[2:5]는 인덱스 2부터 4까지의 요소를 포함합니다. 즉, [3, 4, 5]가 출력됩니다.

 

 

예제 2: 음수 인덱스 사용

음수 인덱스는 리스트의 끝에서부터 요소를 나타냅니다.

 

# 끝에서 4번째 요소부터 끝까지
slice2 = my_list[-4:]
print(slice2)  # 출력: [7, 8, 9, 10]

my_list[-4:]는 끝에서 4번째 요소부터 끝까지의 요소를 포함합니다. 따라서 [7, 8, 9, 10]이 출력됩니다.

 

예제 3: 간격(step) 사용

간격을 설정하여 일정한 간격으로 요소를 가져올 수 있습니다.

# 인덱스 1부터 8까지, 2씩 건너뛰기
slice3 = my_list[1:8:2]
print(slice3)  # 출력: [2, 4, 6, 8]

my_list[1:8:2]는 인덱스 1부터 7까지의 요소를 2씩 건너뛰며 가져옵니다. 따라서 [2, 4, 6, 8]이 출력됩니다.

 

예제 4: 리스트 전체 복사

슬라이스를 사용하여 리스트 전체를 복사할 수도 있습니다.

# 리스트 전체 복사
copy_of_list = my_list[:]
print(copy_of_list)  # 출력: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

my_list[:]는 리스트 전체를 복사하여 새로운 리스트를 생성합니다. 따라서 my_list와 동일한 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]이 출력됩니다.

반응형
320x100

문제 설명
두 정수 X, Y의 임의의 자리에서 공통으로 나타나는 정수 k(0 ≤ k ≤ 9)들을 이용하여 만들 수 있는 가장 큰 정수를 두 수의 짝꿍이라 합니다(단, 공통으로 나타나는 정수 중 서로 짝지을 수 있는 숫자만 사용합니다). X, Y의 짝꿍이 존재하지 않으면, 짝꿍은 -1입니다. X, Y의 짝꿍이 0으로만 구성되어 있다면, 짝꿍은 0입니다.

예를 들어, X = 3403이고 Y = 13203이라면, X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 3, 0, 3으로 만들 수 있는 가장 큰 정수인 330입니다. 다른 예시로 X = 5525이고 Y = 1255이면 X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 2, 5, 5로 만들 수 있는 가장 큰 정수인 552입니다(X에는 5가 3개, Y에는 5가 2개 나타나므로 남는 5 한 개는 짝 지을 수 없습니다.)
두 정수 X, Y가 주어졌을 때, X, Y의 짝꿍을 return하는 solution 함수를 완성해주세요.

제한사항
3 ≤ X, Y의 길이(자릿수) ≤ 3,000,000입니다.
X, Y는 0으로 시작하지 않습니다.
X, Y의 짝꿍은 상당히 큰 정수일 수 있으므로, 문자열로 반환합니다.

 

입출력 예

X Y result
"100" "2345" "-1"
"100" "203045" "0"
"100" "123450" "10"
"12321" "42531" "321"
"5525" "1255" "552"

-------------------------------------------------------------------------------------------

문제 풀이

 

(다양한 방법의 풀이가 있으나) 여기서는 dictionary 타입으로 각 문자의수를 저장하고, 유일한 키값 해시를 이용하여 문자의 수를 하나씩 차감함으로써 문제를 해결한다.

각 테스트 데이터에 대한 H 는 다음과 같다.

 

- 테스트 데이터 1: H = {'2': 1, '3': 1, '4': 1, '5': 1}

-  테스트 데이터 2: H = {'2': 1, '0': 2, '3': 1, '4': 1, '5': 1}

-  테스트 데이터 3: H = {'1': 1, '2': 1, '3': 1, '4': 1, '5': 1, '0': 1}

-  테스트 데이터 4: H = {'4': 1, '2': 1, '5': 1, '3': 1, '1': 1}

-  테스트 데이터 5: H = {'1': 1, '2': 1, '5': 2}

 

def solution(X, Y):
    answer = ''
    H = {}
    
    for i in Y:
        if i not in H:
            H[i] = Y.count(i)
    
    for i in X:
        if i in H and H[i] > 0:
            answer += i
            H[i] -= 1
            
    answer = "".join(sorted(list(answer),reverse=True))
    
    if len(answer)==0: return "-1"
    elif len(answer)==answer.count("0"): return "0"
    
    return answer

 

 

반응형

+ Recent posts