---
id: 697a49e6ff50d756c9b69365
title: "Challenge 188: 2026 Winter Games Day 9: Skeleton"
challengeType: 28
dashedName: challenge-188
---

# --description--

Given a string representing the curves on a skeleton track, determine the difficulty of the track.

- The given string will only consist of the letters:
  - `"L"` for a left turn
  - `"R"` for a right turn
  - `"S"` for a straight segment

- Each direction change adds 15 points (an `"L"` followed by an `"R"` or vice versa).
- All other curves add 5 points each (all other `"L"` or `"R"` characters).
- Straight segments add 0 points.

The difficulty of the track is based on the total score. Return:

- `"Easy"` if the total is 0 - 100
- `"Medium"` if the total is 101-200
- `"Hard"` if the total is over 200

# --hints--

`getDifficulty("SLSLLSRRLSRLRL")` should return `"Easy"`.

```js
assert.equal(getDifficulty("SLSLLSRRLSRLRL"), "Easy");
```

`getDifficulty("LLRSLRLRSLLRLRSLRRLRSRLLS")` should return `"Hard"`.

```js
assert.equal(getDifficulty("LLRSLRLRSLLRLRSLRRLRSRLLS"), "Hard");
```

`getDifficulty("SRRRRLSLLRLRSSRLSRL")` should return `"Medium"`.

```js
assert.equal(getDifficulty("SRRRRLSLLRLRSSRLSRL"), "Medium");
```

`getDifficulty("LSRLRLSRLRLSLRSLRLLRLSRLRLRSL")` should return `"Hard"`.

```js
assert.equal(getDifficulty("LSRLRLSRLRLSLRSLRLLRLSRLRLRSL"), "Hard");
```

`getDifficulty("SLLSSLRLSLSLRSLSSLRL")` should return `"Medium"`.

```js
assert.equal(getDifficulty("SLLSSLRLSLSLRSLSSLRL"), "Medium");
```

`getDifficulty("SRSLSRSLSRRSLSRSRSLSRLSRSR")` should return `"Easy"`.

```js
assert.equal(getDifficulty("SRSLSRSLSRRSLSRSRSLSRLSRSR"), "Easy");
```

# --seed--

## --seed-contents--

```js
function getDifficulty(track) {

  return track;
}
```

# --solutions--

```js
function getDifficulty(track) {
  let score = 0;

  for (let i = 0; i < track.length; i++) {
    const current = track[i];
    const previous = i > 0 ? track[i - 1] : null;

    if (current === 'S') {
      score += 0;
    } else if (current === 'L' || current === 'R') {
      if (previous && previous !== 'S' && previous !== current) {
        score += 15;
      } else if (previous !== 'S') {
        score += 5;
      } else {
        score += 5;
      }
    }
  }

  if (score <= 100) return 'Easy';
  if (score <= 200) return 'Medium';
  return 'Hard';
}
```
